我不明白的是'"production"',外邊要分別加單引號 雙引號。下邊說的string variables need to be wrapped into single and double quotes '"..."',什么是字符串變量?// config/prod.env.jsmodule.exports = {
NODE_ENV: '"production"',
DEBUG_MODE: false,
API_KEY: '"..."' // this is shared between all environments}// config/dev.env.jsmodule.exports = merge(prodEnv, {
NODE_ENV: '"development"',
DEBUG_MODE: true // this overrides the DEBUG_MODE value of prod.env})// config/test.env.jsmodule.exports = merge(devEnv, {
NODE_ENV: '"testing"'})
Note: string variables need to be wrapped into single and double quotes '"..."'
1 回答

明月笑刀無情
TA貢獻1828條經(jīng)驗 獲得超4個贊
這個不是 webpack 要求的,是 webpack.definePlugin 要求的。后者會把你代碼里的變量替換成指定的內(nèi)容,用來輸出特定環(huán)境要求的代碼。
想象一下,你的代碼會發(fā)布兩個版本,一個是試用版,一個是正式版。試用版中到達一定條件后會中斷執(zhí)行,你就可以這樣做:
if (IS_TRIAL) { alert('這是試用版'); return; }
然后在變量配置中定義
module.exports = { IS_TRIAL: true; }
打包編譯后的代碼就變成了
if (true) { //...}
那么,如果變量是個字符串,比如:if (VERSION === 'trial')
,但是你不加引號,就變成了 if (trial === 'trial')
,這時 JS 會認為前面一個是變量,就會導致一些奇怪的問題。
添加回答
舉報
0/150
提交
取消