1

作为标题,在使用 Assetic 时有没有办法将选项传递给 UglifyJS2?具体来说,我需要通过该--comments选项。

我试图将选项添加到我的 config.yml: 中的 bin 设置中bin: "%uglifyjs_bin_path% --comments",但这不会运行,因为它试图在路径中包含 --comments:

[Assetic\Exception\FilterException]
运行时出错:
'/usr/bin/nodejs''/usr/local/bin/uglifyjs --comments''-o''/tmp/assetic_uglifyjs2_outyYVBye''/tmp/assetic_uglifyjs2_ind932Xh ' 错误输出:
module.js:328

抛出错误;
错误:找不到模块'/usr/local/bin/uglifyjs --comments'

在 Function.Module._resolveFilename (module.js:326:15)
在 Function.Module._load (module.js:277:25)
在 Function.Module.runMain (module.js:442:10)
在启动时(节点。 js:136:18)
在 node.js:966:3

4

1 回答 1

5

在对 Assetic 包的源代码进行了一些挖掘之后,我找到了 UglifyJS2 过滤器的配置UglifyJS2 Configuration。多亏了这一点,我才能弄清楚要启用评论选项,我只需要将它与 bin 选项一起传递,如下所示:

uglifyjs2:
        # the path to the uglifyjs executable
        bin: "%uglifyjs_bin_path%"
        comments: true

编辑:此外,如果您想将参数传递给给定的选项,您只需将参数传递给想要的选项,选项本身就会自动添加。例如,我正在使用自定义正则表达式运行评论:

uglifyjs2:
        # the path to the uglifyjs executable
        bin: "%uglifyjs_bin_path%"
        comments: /^\/*\**!/
        compress: true
        mangle: true
于 2017-03-04T14:03:42.193 回答