uglifyjs - 使用任何选项运行时挂起

Emp*_*Set 5 javascript

问题

我正在使用 uglify-js 来缩小一些 js 代码。我这样使用它:

uglifyjs --compress --mangle file.js -o outfile.min.js
Run Code Online (Sandbox Code Playgroud)

但是,这会导致它挂起并且永远无法完成。如果删除“--compress”和“--mangle”,我可以从 uglify 获得成功的输出,例如:

uglifyjs file.js -o outfile.min.js
Run Code Online (Sandbox Code Playgroud)

但是,我当然想使用这些选项。

我的设置

Windows 7 旗舰版 x64。控制台是 bash。

不确定与此相关的其他详细信息(相关工具的版本除外,但请参见下文)。

我尝试过的事情

上网搜索。

更新我的 Node-js 安装:

node -v
v10.15.3
Run Code Online (Sandbox Code Playgroud)

更新我的 uglify-js 安装:

uglifyjs -V
uglify-js 3.4.9
Run Code Online (Sandbox Code Playgroud)

使用 --verbose 运行 uglifyjs。什么也没有输出。

直接在当前目录中的文件上运行 uglifyjs (没有变化)。

小智 7

您必须在选项列表之前传递要缩小的文件列表。

uglifyjs [input files] [options]
Run Code Online (Sandbox Code Playgroud)

所以你应该用这个来代替:

uglifyjs [input files] [options]
Run Code Online (Sandbox Code Playgroud)

或者,从文档中:

如果您希望在输入文件之前传递选项,请用双破折号分隔两者,以防止输入文件被用作选项参数:

uglifyjs --compress --mangle -- input.js