[英]Conditional Compilation using UglifyJS + GruntJS
我正在使用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");
};
我也嘗試在mangle
對象中添加一個except
屬性,這似乎也沒有用(它仍然會破壞文件...)UglifyJS顯然正在運行,但它似乎並沒有得到它傳入的選項。我也挖掘了代碼,當我在console.log(grunt.config('uglify'));
我明白了
{ mangle: { defines: { DEBUG: false } } }
看起來對我來說是正確的......
有什么想法嗎???
這是目前適合我的:
uglify: {
options: {
compress: {
global_defs: {
APP_DEBUG: false
}
}
}
}
將它放在compress選項中,在這種情況下它會設置APP_DEBUG=false
我從這里得到了這個修復: https : //github.com/gruntjs/grunt-contrib-uglify/issues/12
我提交了一個問題 ,以步兵和aparently問題是內部丑化(的方式defines
參數實際上是處理矛盾的文檔)。
以下代碼有效:
uglify: {
mangle: {
defines: {
DEBUG: ['name', 'true']
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.