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