使用 Assetic Bundle 时将选项传递给 UglifyJS2

Passing options to UglifyJS2 when using Assetic Bundle

如题,在使用 Assetic 时,有什么方法可以将选项传递给 UglifyJS2 吗?具体来说,我需要传递 --comments 选项。

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

[Assetic\Exception\FilterException]
An error occurred while running:
'/usr/bin/nodejs' '/usr/local/bin/uglifyjs --comments' '-o' '/tmp/assetic_ uglifyjs2_outyYVBye' '/tmp/assetic_uglifyjs2_ind932Xh' Error Output:
module.js:328

throw err;
Error: Cannot find module '/usr/local/bin/uglifyjs --comments'

at Function.Module._resolveFilename (module.js:326:15)
at Function.Module._load (module.js:277:25)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3

在深入挖掘 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