结合r.js和UglifyJS参数

时间:2013-08-12 10:52:29

标签: requirejs uglifyjs r.js

我正在使用r.js优化我的requirejs项目。在我的JS代码中,我需要用版本号替换别名。当我的build.js文件包含以下内容时,它可以正常工作:

({
    appDir: "../",
    baseUrl: "scripts",
    mainConfigFile: 'project-config.js',
    dir: "../dist",
    uglify: {
        defines: {
            DEBUG: ['name', 'true'],
            VERSION: ['string', '1.2.3.4']
        }   
    }
})

我通过以下方式运行: node r.js -o build.js

但是,我需要动态传递版本号,因为我想通过一些命令行工具对其进行优化。我已经阅读了UglifyJS documentation中的--define SYMBOL[=VALUE]选项,但无法让它协同工作。

我应该在node命令中更改什么来将“define”参数传递给UglifyJS?我想覆盖build.js文件中的VERSION定义(或者只是从文件中删除它)。

2 个答案:

答案 0 :(得分:1)

根据负责r.js的James Burke的说法,目前还不支持此功能 - 目前只能对非数组属性使用命令行参数,请参阅pull request 346

答案 1 :(得分:0)

在命令行中使用Uglify的唯一方法是使用:

optimize=uglify2

我的参考是the source