DefinePlugin 作用

可以创建一个在编译时可以配置的全局常量。主要针对我们在编译时,区分 开发、测试、生产环境。

因为node.js里的环境变量,process.env.NODE_ENV,只能在node的环境里拿到。而webpack.DefinePlugin提供的可以在浏览器环境里拿到。

示例



new webpack.DefinePlugin({
PROCESS.VERSION: JSON.stringify('2.0.1'),
PROCESS.ENVIRONMENT: '"dev"'
})


注:

1.值格式:因为DefinePlugin直接做的文本替换,给定的值必须包含字符串本身内的实际引号。比如:

‘“production”’, 或者使用 JSON.stringify(‘production’)

2.建格式:键值都是一个标志符或者多个用 . 连接起来的标志符

调用

在其他js里,就可以直接使用,比如:



const env = PROCESS.ENVIRONMENT;