问题标签 [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.
javascript - 是否有允许排除指定字符集的丑化/缩小库?
当我丑化/缩小 javascript 代码时,我必须排除非 javascript 字符集,如<%
,和字符集。(只有这些字符)<%-
<%=
%>
例如下面的代码应该经过丑化/缩小处理后转换成下面的代码;
原始代码;
缩小代码;
javascript - 用相应的缩小版本替换 js 文件
我正在使用 Grunt,我想缩小我的 js 文件(我正在尝试配置 uglify https://github.com/gruntjs/grunt-contrib-uglify但没有成功......)
我想用缩小的对应文件替换我项目中的所有 js 文件。
例如,如果我的项目结构是
我只想简单地,对于每个文件,将其替换为缩小版本 (具有相同的 nemes,而不将它们合并到一个文件中)
我尝试过:
但不工作...
ps我不想写
因为我的结构文件夹发生了变化,我不想每次都修改 Gruntfile
javascript - UglifyJS2 删除块或文件末尾的想要的注释
我需要在我丑陋的 javascript 中保留一些特定的注释。有没有办法让 UglifyJS2 --comments 参数保留所有想要的评论?
示例 foo.js:
使用这个 Uglifyjs2 命令行(使用 uglifyjs2 版本 2.4.24):
生成一个 foo.min.js 包含:
UglifyJs2 似乎删除了文件末尾的注释或块,即使它们符合应该保留它们的正则表达式。Uglify 文档指出,由于各种压缩选项,并非所有评论都可以保留。似乎示例中的注释应该是可以保留的。禁用各种压缩选项似乎仍然会删除这些评论。
在文件末尾或块末尾添加其他必要的代码语句将导致注释被保留。
如果我能让它保留所有我想要的评论,那就太好了。相反,我也会选择一种方法来删除所有//评论并保留所有/*评论*/。
uglifyjs - UglifyJS Maven 聚合
我想使用 UglifyJS maven 插件聚合所有缩小的 JS 文件,但是没有关于这样做的文档,插件代码也没有提到任何关于聚合的内容。是不是插件不支持聚合?
javascript - UglifyJS的AST中如何通过形参获取实参?
给定代码:
我有一个树行者的AST_SymbolRef
of fn
,我怎样才能通过那个参考得到AST_Function
of ?function() { return 0; }
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__
声明包含我的文件的完整路径,即使它最初只是相对的(作为完整路径,它不能移植到其他计算机)
有没有一种合理的方法来生成包含整个项目内容的单个文件,然后将其丑化,从而获得良好且简单的(单个文件)分发版本?
javascript - 如何使用 UglifyJS2 在函数内部保留 HereDoc 样式的注释
我经常在模板时使用空函数作为 HereDoc 块。
UglifyJS2 压缩器删除所有注释,这通常是可取的。除了这个!我想在命令行上使用“--comments”,在评论块中使用“/** @preserve”,但没有用。我也尝试过正则表达式。这是我在上述 JS 文件上尝试的特定命令:
结果如下:
我发现很难让任何正则表达式都能正常工作......
将评论放置在内部或外部;是否直接调用该函数。没有任何工作。
丑化-js 2.6.1
uglifyjs - UglifyJS - 删除特定的函数调用
有没有办法使用 Uglify2 丢弃对特定函数调用的调用?像选项drop_console将丢弃对 console.* 函数的调用。我需要放弃对特定函数的调用。例如:
然后,删除所有myObj.*调用。这可能吗?
node.js - UglifyJS 选项仅删除死代码
有没有办法在节点脚本中调用 UglifyJS2 API(即通过调用require('uglify-js').minify
),以便删除死/无法访问的代码但不应用任何压缩
例如:
会成为