【发布时间】:2015-12-12 01:51:17
【问题描述】:
我需要在我丑陋的 javascript 中保留一些特定的 cmets。有没有办法让 UglifyJS2 --cmets 参数保留所有想要的 cmets?
示例 foo.js:
function foo()
{
// don't keep this
/* delete this */
/* KEEPME */
for (var i=0; i < 10; i++)
{
alert('alert #'+i);
}
/* KEEPME */
}
/*KEEPME*/
使用这个 Uglifyjs2 命令行(使用 uglifyjs2 版本 2.4.24):
node uglifyjs2 --comments "/KEEPME/i" -o foo.min.js foo.js
生成一个 foo.min.js,其中包含:
function foo(){/* KEEPME */
for(var i=0;i<10;i++){alert("alert #"+i)}}
UglifyJs2 似乎删除了文件末尾的 cmets 或块,即使它们符合应该保留它们的正则表达式。 Uglify 文档指出,由于各种压缩选项,并非所有 cmets 都可以保留。似乎示例中的 cmets 应该是可保留的。禁用各种压缩选项似乎仍然会删除这些 cmets。
在文件末尾或块末尾添加其他必要的代码语句将导致 cmets 被保留。
如果我能用它来保存所有我想要的 cmets,那就太好了。我也愿意找到一种方法来删除所有//cmets,只保留所有/* cmets */。
【问题讨论】:
标签: javascript comments uglifyjs2