我正在使用 grunt-bbb对于我正在处理的 JavaScript 项目。我喜欢使用 grunt 对 UglifyJS 的支持来使用条件编译,但我似乎无法让它工作。我正在尝试将 defines
选项传递给 uglify 任务,但它似乎不起作用。
我的 grunt.js 文件如下所示:
module.exports = function (grunt) {
grunt.initConfig({
// ... config options ...
uglify: {
"mangle": {
"defines": {"DEBUG": false}
}
},
// ... more configs ...
});
// ... custom tasks ...
grunt.registerTask("release", "default min mincss");
};
我也尝试将 except
属性添加到 mangle
对象中,但这似乎也不起作用(它仍然会破坏文件.. .) UglifyJS 显然正在运行,但它似乎没有传递选项。我也研究了代码,当我 console.log(grunt.config('uglify')) ;
我明白了
{ mangle: { defines: { DEBUG: false } } }
这对我来说是正确的...
有什么想法吗???
最佳答案
这是目前对我有用的:
uglify: {
options: {
compress: {
global_defs: {
APP_DEBUG: false
}
}
}
}
将它放在压缩选项中有效,在这种情况下它将设置 APP_DEBUG=false
我从这里得到了这个修复:https://github.com/gruntjs/grunt-contrib-uglify/issues/12
关于javascript - 使用 UglifyJS + GruntJS 的条件编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12360949/