我不明白的是'"production"',外邊要分別加單引號(hào) 雙引號(hào)。下邊說(shuō)的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 回答

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