除了区分不同的配置文件进行打包,还需要在开发时知道当前的环境是开发阶段或上线阶段,所以可借助内置插件 DefinePlugin 来定义环境变量。最终可以实现开发阶段与上线阶段的 api 地址自动切换。
const webpack = require('webpack')
// webpack.dev.js
plugins: [
new webpack.DefinePlugin({
IS_DEV: 'true', // 注意一定是字符串,会解析为 true
other: "'hello'" // 需要用 引号套引号
})
]
// webpack.prod.js
plugins: [
new webpack.DefinePlugin({
IS_DEV: 'false', // 注意一定是字符串,会解析为 true
other: "'hello'" // 需要用 引号套引号
})
]