首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UglifyJS2可删除数据块或文件末尾的注释

UglifyJS2可删除数据块或文件末尾的注释
EN

Stack Overflow用户
提问于 2015-09-16 01:33:47
回答 1查看 216关注 0票数 2

我需要在我的丑化的javascript中保留一些特定的注释。有没有办法让UglifyJS2 --comments参数保留所有需要的注释?

示例foo.js:

代码语言:javascript
复制
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):

代码语言:javascript
复制
node uglifyjs2 --comments "/KEEPME/i" -o foo.min.js foo.js

生成包含以下内容的foo.min.js:

代码语言:javascript
复制
function foo(){/* KEEPME */
for(var i=0;i<10;i++){alert("alert #"+i)}}

UglifyJs2似乎删除了文件或块末尾的注释,即使它们符合应该保留它们的正则表达式。Uglify文档指出,由于各种压缩选项,并不是所有的注释都可以保留。似乎示例中的注释应该是可保留的。禁用各种压缩选项似乎仍然会删除这些注释。

在文件末尾或块末尾添加其他必要的代码语句将导致注释被保留。

如果我能让它保存所有我想要的评论,那就太好了。我也会满足于一种删除所有//注释而只保留所有/*注释*/的方法。

EN

回答 1

Stack Overflow用户

发布于 2015-09-16 07:30:31

请参阅https://github.com/mishoo/UglifyJS2/issues/88,因为这是uglifyjs中的一个已知错误。在目前的状态下,uglifyjs不能在(子)树的末尾保留注释(对于程序员来说:这意味着文件末尾、函数末尾等等)

注意:我已经得到了只在stackoverflow上删除了链接的答案,尽管我觉得这类问题应该在那里解决。如果此答案不符合您的要求,请随时删除此答案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32592288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档