2017-07-05 26 views
2

我想要將這些文件捆綁到我的生產版本中,但前提是它不適用於DEBUG;webpack中的條件需求文件

所以我使用webpack.DefinePlugin並設置變量DEBUG === true

而且配置webpack.UglifyJsPlugin使用默認選項

而在js文件,我這樣做:

const A = DEBUG === true ? null : require('./some-debug.js'); 
//do things with A, for example 
console.log(A) 

我檢查了最後的包文件,被替換爲空(所以DefinePlugin工作正常),但some-debug.js文件的內容仍然在捆綁js中。

是否有可能讓webpack不需要該文件?

ps: 我想我可以用resolve.alias來解決'./some-debug.js' --> undefined。但我想保持我的webpack.config.js通用,不''想申請太多resolve.alias條目。

謝謝

回答

1

它不適用於三元運算符。

let A; 
if (DEBUG === true) { 
    A = require('./some-debug.js'); 
} 
+0

謝謝,它的工作原理! – garyx