问题标签 [uglifyjs2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
68 浏览

javascript - 是否有允许排除指定字符集的丑化/缩小库?

当我丑化/缩小 javascript 代码时,我必须排除非 javascript 字符集,如<%,和字符集。(只有这些字符)<%-<%=%>

例如下面的代码应该经过丑化/缩小处理后转换成下面的代码;

原始代码;

缩小代码;

0 投票
1 回答
523 浏览

javascript - 用相应的缩小版本替换 js 文件

我正在使用 Grunt,我想缩小我的 js 文件(我正在尝试配置 uglify https://github.com/gruntjs/grunt-contrib-uglify但没有成功......)

我想用缩小的对应文件替换我项目中的所有 js 文件。

例如,如果我的项目结构是

我只想简单地,对于每个文件,将其替换为缩小版本 (具有相同的 nemes,而不将它们合并到一个文件中)

我尝试过:

但不工作...

ps我不想写

因为我的结构文件夹发生了变化,我不想每次都修改 Gruntfile

0 投票
1 回答
224 浏览

javascript - UglifyJS2 删除块或文件末尾的想要的注释

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

示例 foo.js:

使用这个 Uglifyjs2 命令行(使用 uglifyjs2 版本 2.4.24):

生成一个 foo.min.js 包含:

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

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

如果我能让它保留所有我想要的评论,那就太好了。相反,我也会选择一种方法来删除所有//评论并保留所有/*评论*/。

0 投票
0 回答
103 浏览

uglifyjs - UglifyJS Maven 聚合

我想使用 UglifyJS maven 插件聚合所有缩小的 JS 文件,但是没有关于这样做的文档,插件代码也没有提到任何关于聚合的内容。是不是插件不支持聚合?

0 投票
0 回答
31 浏览

javascript - UglifyJS的AST中如何通过形参获取实参?

给定代码:

我有一个树行者的AST_SymbolRefof fn,我怎样才能通过那个参考得到AST_Functionof ?function() { return 0; }

0 投票
2 回答
1214 浏览

node.js - 用于缩小/丑化并将整个项目合并到一个文件的简单工具?

我正在寻找一种能够在基本文件夹上运行并将所有 javscript 文件合并到单个缩小文件的工具。我查看了 uglifyjs2,它似乎是最喜欢的,但不处理require调用:我尝试在几个文件上使用命令行 compress 方法,但是如果我尝试单独运行,require 调用将保留并且会在运行时破坏代码 uglifyjs routes/* libs/* config/* models/* server.js -o server.min.js -c sequences,dead_code,booleans,conditionals,properties,unused,if_return,join_vars,hoist_vars

所以我不能真正制作“单一”文件版本,只是为每个文件丑化并生成一个缩小版本,但整个项目结构仍然存在。我也尝试过使用节点优化,但它会在代码中留下许多痕迹,__FAKE_REQUIRE__声明包含我的文件的完整路径,即使它最初只是相对的(作为完整路径,它不能移植到其他计算机)

有没有一种合理的方法来生成包含整个项目内容的单个文件,然后将其丑化,从而获得良好且简单的(单个文件)分发版本?

0 投票
1 回答
130 浏览

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

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

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

结果如下:

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

将评论放置在内部或外部;是否直接调用该函数。没有任何工作。

丑化-js 2.6.1

0 投票
0 回答
289 浏览

uglifyjs - UglifyJS - 删除特定的函数调用

有没有办法使用 Uglify2 丢弃对特定函数调用的调用?像选项drop_console将丢弃对 console.* 函数的调用。我需要放弃对特定函数的调用。例如:

然后,删除所有myObj.*调用。这可能吗?

0 投票
1 回答
1112 浏览

node.js - UglifyJS 选项仅删除死代码

有没有办法在节点脚本中调用 UglifyJS2 API(即通过调用require('uglify-js').minify),以便删除死/无法访问的代码但不应用任何压缩

例如:

会成为

0 投票
1 回答
219 浏览

node.js - 带有传递字符串而不是文件名的uglifyjs cli不起作用

我尝试使用uglifyjs cli 传递内联脚本字符串而不是输入文件名。根据文档,它应该以下列方式工作:

但这会引发以下错误:

我在这里做错了什么?我已经在谷歌上搜索了几个小时,但没有运气。