DefinePlugin
允許創建一個在編譯時可以配置的全局常量
new webpack.DefinePlugin({
PRODUCTION:true, PRODUCTION: JSON.stringify(true), VERSION: JSON.stringify('5fa3b9'),VERSION: '5fa3b9'
})
注意:
1.這個插件中,傳入的對象,如果value不是字符串, 會被自動轉為字符串,比如第一行true,和第二行JSON.stringify(true)是等價的
definePlugin在webpack整個編譯過程中,處理到一個文件源碼內容時, 會"直接執行文本替換"(官網原話),
例如定義:
FUN1:'function a(){ console.log(1) }'
FUN2:JSON.stringify('function a(){console.log(1)}')
FUN3: "'function a(){console.log(1)}'"
經過definePlugin處理后,如果代碼中出現了FUN1這個變量,會被替換成一個實際的函數,
如果代碼中出現了FUN2和FUN3 會被替換成一段字符串'function a(){console.log(1)}'