- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码(为方便讨论而简化):
var a = 1;
var b = [];
if (checkIfAisOne(a)) {
b = ['something']
}
console.log(b);
//['something']
然后有一个 Grunt Uglify 任务将此代码转换为:
checkIfAisOne(a) || (b = ['something']), console.log(b);
// []
因为表达式的第一部分为真,第二部分(在 ||
之后)没有执行,因此 b
保持不变。
因此,丑化代码与非丑化代码显示不同的输出。
这是一个已知问题吗?错误?如何预防,是否有解决此问题的选项/设置?
最佳答案
最新的 uglifyJS 正在产生这个输出:
var a=1,b=[];checkIfAisOne(a)&&(b=["something"]),console.log(b);
使用 https://github.com/mishoo/UglifyJS2/commit/a0e03c9df47c411a40bceef02af2ce3dd1a329cc ,它于 2016 年 3 月 5 日提交,但在 2016 年 4 月 5 日的 repo 中合并。 UglifyJS v2.6.2 的输出相同。
UglifyJS v2.6.2 随 grunt-contrib-uglify 1.0.0 及更高版本一起提供。因此,请在必要时升级 grunt-contrib-uglify。
如果输出仍然存在问题,请随时在 https://github.com/mishoo/UglifyJS2 上提出问题使用代码片段
关于javascript - UglifyJS 改变代码行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36866972/
我有以下命令: uglifyjs main.js bar.js -m toplevel reserved=['$','addTo','exports'] -c --source-map -o
我在尝试覆盖被丑化的文件时遇到问题。不幸的是,我无法输出到不同的文件名。 以下是一些尝试: uglifyjs dist/main.*.js --compress drop_console=true -
我正在编写一个使用许多 JS 文件的应用程序。 Underscore、Backbone、jQuery、 slider 的 jQuery 插件、模型、路由器、集合和 View 的几个文件。 在我的开发机
我在 2012 年发现了一个有类似问题的帖子,但是它调用 uglifyjs 的方式不同 Uglify-js doesn't mangle variable names 我有一个 Windows 7 环
我已将 uglifyjs 插件添加到我的项目中grails install-plugin uglify-js-minified-resources . 还添加了 compile ":uglify-js
我正在使用 UglifyJS破坏和压缩我的 SPA 的 JavaScript 代码。这对于生产来说没问题,但是我只想在 Debug模式下编译时附加所有 JS 文件。 我尝试省略 -c -m 选项(co
在我的代码库中,我有这个与 fabric.js 交互的自定义代码: export function cropToCircle(object) { let minDim = Math.min
我正在尝试获取一个简单的 UglifyJS (v2.3.6) 示例来处理压缩。 具体来说,“未使用”选项,如果从未使用过,变量和函数将被删除。 这是我在命令行上的尝试: echo "function
我有以下代码(为方便讨论而简化): var a = 1; var b = []; if (checkIfAisOne(a)) { b = ['something'] } console.log
我想知道如何从命令行使用 UglifyJS 压缩内联脚本。 所有示例都显示文件名,即 uglifyjs somefile.js -o somefile.min.js 我想做的是: uglifyjs -
我正在尝试使用 UglifyJS 来缩小我的代码,但我遇到了一些问题。我有这样的文件结构: /deploy /assets /js ((minified file goes h
我正在尝试缩小一个 24MB 的 JavaScript 文件,但在大约 10 分钟的运行时间后,脚本退出并显示内存不足的错误。有什么标志可以提供帮助吗?我正在运行具有 16GB 物理内存的 Windo
根据文档,UglifyJS 可以破坏除提供的保留列表中的所有属性名称。是否有可能以其他方式做到这一点,所以只有提供的列表中的属性才会被破坏? 如果是这样,我需要将哪些选项传递给 uglify.mini
uglify-js和uglify-es的描述是相同的,除了uglify-es大写“for ES6 +”。基于此,人们会认为uglify-es是ES6代码的最佳选择。另一方面,uglify-es较旧-5
如何使用 Webpack 和 UglifyJS 删除死代码,但不最小化代码? 最佳答案 您可能想使用 beautifier options .最低限度的想法: new webpack.optimize
有没有办法告诉 UglifyJS 跳过特定的代码部分,也许使用这样的注释: // uglifyjs:skipStart filter = function(item){ /* some crazy f
目前我可以在 Node 环境中使用 UglifyJS 进行缩小。然而,读完这篇blog ,我意识到这个插件还有更多选项。但我无法将这些关键字转换为 Node 环境可接受的语法。 现在,我正在使用 ne
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
在测试服务器上部署我的应用程序时,我遇到了一个错误,其中 UglifyJS 确实更改了 npm 依赖模块的函数参数,这些参数的名称很重要;一些函数是动态调用的,我正在使用 function-argum
A lot of warnings with webpack uglify 我已经关闭了 UglifyJS 中的警告,但我仍然收到来自 webpack 的一些警告。 WARNING in main-0
我是一名优秀的程序员,十分优秀!