javascript - 如何使用 UglifyJS2 保留函数内部的 HereDoc 风格注释

标签 javascript regex uglifyjs2

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

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

UglifyJS2 压缩器会删除所有注释,这通常是可取的。除了这个!我想在命令行上使用“--comments”,在注释 block 中使用“/** @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 removes wanted comments at the end of a block or file

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

关于javascript - 如何使用 UglifyJS2 保留函数内部的 HereDoc 风格注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34261849/

相关文章:

javascript - Firefox 和 Opera 中的父 div 宽度为 0,即使我有 child

html - 正则表达式根据 src 值有条件地选择所有图像 html 标签

windows - 运行一个 Node 应用程序脚本后批处理文件退出

javascript - 使用 javascript 完全生成 html 的优缺点

javascript - jQuery 整体平滑滚动而不是 DIV

javascript - 在 Javascript 中验证用户的 UTF-8 名称

php preg_split 第一个大写

node.js - 如何保持/*!与 UglifyJS2 的评论?

javascript - UglifyJS 属性重整

javascript - 如何通过javascript添加<span>?