webpack definePlugin 注意點


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)}'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM