【问题标题】:How to Preserve HereDoc-Style Comments Inside Function Using UglifyJS2如何使用 UglifyJS2 在函数内部保留 HereDoc 样式的注释
【发布时间】:2023-03-26 07:35:01
【问题描述】:

我在模板时经常使用空函数作为 HereDoc 块。

var heredoc = function() {/*
  <div>
    Hello World!
  </div>
*/};

UglifyJS2 压缩器会删除所有 cmets,这通常是可取的。除了这个!我想在命令行上使用“--cmets”,在注释块中使用“/** @preserve”,但这不起作用。我也尝试过正则表达式。这是我在上述 JS 文件上尝试的特定命令:

uglifyjs test.js -o test.min.js -p 5 -c -m --comments /div/i

结果如下:

var heredoc=function(){};

我发现让任何正则表达式都很难工作......

/* div keep me */
var heredoc = function() {/** @preserve
  <div>
    Hello World!
  </div>
*/};

heredoc();

将评论放置在内部或外部;是否直接调用该函数。什么都没有。

uglify-js 2.6.1

【问题讨论】:

    标签: javascript regex uglifyjs2


    【解决方案1】:

    这不是一个很容易接受的答案,但无论如何我都会提供。

    这是有效的:

    var heredoc = function() {/** @preserve
      <div>
        Hello World!
      </div>
    */""};
    

    我在阅读另一个问题后在底部添加了空字符串:

    UglifyJS2 removes wanted comments at the end of a block or file

    但是,使用正则表达式时它不起作用。我不得不使用 jsdoc @preserve 标签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-19
      • 1970-01-01
      • 1970-01-01
      • 2020-12-15
      • 1970-01-01
      • 2022-01-19
      相关资源
      最近更新 更多