问题标签 [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.
requirejs - RequireJS 使用 r.js 和 Uglify 进行优化
我们有一个基于多个文件/模块的应用程序。我们使用 r.js 和 uglify2 来优化构建。它当前进行空白删除和缩小,这很棒。
要求- 我们能否以某种方式混淆文件中使用的函数名称,以使包含此自定义文件的其他 RequireJS 模块不会中断并继续使用“混淆”的函数名称?
非常感谢!
angularjs - 丑化和破坏 $scope 变量和函数
有没有办法在不破坏代码的情况下实现这一点?我试过 mangleProperties 但我的代码确实不起作用,即使在使用正则表达式和“控制器作为”功能(https://daveceddia.com/convert-scope-to-controlleras/)之后也是如此。
uglifyjs2 - UglifyJS2 以编程方式调用 minify 函数
我想知道我是否可以以minify
编程方式调用 main 函数。
我能够运行compress中定义的相同代码,但是替换UglifyJS.Compressor
withUglifyJS.minify
不起作用。
这是因为我想传递在 UglifyJS2 的 README 中定义的相同选项,而不是compress
.
请注意,我在 Nashorn 中运行代码,而不是在 Node.js 中,因此这类似于浏览器环境。
google-chrome - 如何使用 uglifyjs2 和 Ionic 加载源地图?
对于我的 Ionic 应用程序,我正在使用一些 gulp 任务来缩小 Javascript 代码。Uglifyjs2 缩小代码:
这会生成文件
app.min.js
因此以//# sourceMappingURL=app.min.js.map
在我的 index.html 中,我有以下参考:
ionic run
当我通过加载文件构建和运行我的应用程序时app.min.js
。但是,缺少源地图。Chrome 似乎设置正确(选项Enable JavaScript source maps
已设置)。
我该如何解决这个问题?传输文件的网络列表是否应该包含源映射的条目?我可以以某种方式手动强制 Chrome 加载地图吗?
javascript - 为什么 UglifyJS 将 `someFunction` 转换为 `(0, v.someFunction)`?
我正在使用 UglifyJS 来编译一个 React Web 应用程序,我注意到它似乎包含了很多函数调用,特别是从另一个模块/文件导入的函数,使用(0,
和)
. 这有什么意义?
示例:它转译了这个
对此
playframework - 将参数从 sbt-rjs 传递给 uglify
我正在使用游戏!2.5.8,我正在使用默认使用 uglify2 的 sbt-rjs 缩小我的 JS 文件。缩小是非常基本的(代码仍然可读),我想改进它。
在 sbt-uglify 的github 页面上,有一个缩小选项表,其中大多数默认情况下是关闭的。
有没有办法将这些参数从 sbt-rjs 配置(在 build.sbt 或 main.js 中)传递给 uglify2?
谢谢
javascript - Babel 将 new Request (fetch-api) 转换为函数调用,导致 Chrome 出错
我编写了一个单独的 API 库,我将其保留为纯 ES6(带有生成器等),但它依赖于 isomorphic-fetch 库(因此它可以在节点和浏览器上下文中使用)。
在另一个项目中使用 webpack 2 导入它时,一切都很好,直到我尝试完成缩小/优化过程。由于生成器语法不受支持,UglifyJS 不会处理它。所以我尝试通过 babel 作为 webpack 加载器运行该库,但是现在尝试在浏览器中运行代码时,出现以下错误:
Uncaught (in promise) TypeError: Failed to construct 'Request': Please use the 'new' operator, this DOM object constructor cannot be called as a function.
似乎我在这里陷入了第 22 个问题,我不确定为什么 Babel 保留某些本地类而不是 Request 类。
非常感谢任何帮助,一直在我的桌子上敲打我的头。
javascript - 我的顶级匿名函数中的局部变量不再变短(UglifyJS2)
我使用JSCompress站点(使用 UglifyJS2)来压缩我的 JavaScript 代码。但看起来它不再在顶级匿名函数中缩短我的变量名称了。这只发生在我的特定代码中,而对于任何其他类型的代码,它会压缩所有局部变量的名称。
这就是我要的:
从 ^ 到:
但是在这个顶级函数中却发生了相反的情况(checkES6
,features
等...,这些名称没有被压缩,但它们的变量是“本地的”):
当我压缩它时,我看到所有局部变量都具有相同的名称(嵌套范围除外),checkES6
是checkES6
,supports
是supports
,features
是features
,这个顶级匿名函数中的每个局部变量都没有在其名称中进行压缩。
我仍然想压缩这些名称。这是怎么回事?
javascript - 为什么我看不到使用源映射 (uglify2) 的原始代码?
我正在尝试使用 uglify-js 优化器 (v2) 优化我的源文件。我有这个项目:测试项目
我正在使用它来优化app.js
文件:
请注意,我将原始文件转换为优化(优化的文件名 = 原始文件名)。可能这是问题所在?
所以我看到消息“检测到源地图”,我也看到//# sourceMappingURL=app.js.map
了正确的值。但我没有看到原始文件代码(优化前)。为什么?
此外,我看到另一个localhost:8080
域并/js/app.js
在其中。但它是空白的。
难道我做错了什么?还是我误解了什么是源图?我认为这是一个工具,可以让我在生产中查看/调试代码(优化/丑化/缩小等),就像我在源代码中所做的那样。我错了吗?
我也有这个测试项目:lets-try-es6-features。我只是尝试在此处启用源映射(仅通过向-s
构建命令添加密钥)。奇迹般有效。我可以调试类、箭头函数等(如源代码中的所有内容)。当我优化我的简单 es5 文件时,我什至看不到任何接近这种行为的东西。为什么?