如何使用UglifyJS2在函数内部保留HereDoc样式的注释

How to Preserve HereDoc-Style Comments Inside Function Using UglifyJS2

本文关键字:HereDoc 样式 注释 保留 内部 何使用 UglifyJS2 函数      更新时间:2023-09-26

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

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

UglifyJS2压缩器删除所有注释,这通常是可取的。除了这个!我想在命令行中使用"--comments",在注释块中使用"/**@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

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

这是有效的:

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

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

UglifyJS2删除块或文件末尾的注释

但是,使用regex无法正常工作。我不得不使用jsdoc@preserve标记。