碰到问题的场景:通过命令设置环境变量并且在src文件夹需要用到环境变量时
- 问题:定义过了cross-env NODE_ENV=production,为什么还要在DefinePlugin里面定义一遍?
- 答:DefinPlugin里面定义就可以在你的src 目录下的文件里直接使用process.env.NODE_ENV
"scripts": {
"build": "cross-env NODE_ENV=production webpack --config webpack.config.js",
"dev": "cross-env NODE_ENV=development webpack-dev-server --config webpack.config.js"
},
plugins: [
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: env.NODE_ENV
}
})]
定义时需注意的问题: 例下面的命令设置(需要用单引号包起来)
module.exports = {
NODE_ENV: '"production"',// 普通设置
NODE_ENV: `'${process.env.NODE_ENV}'`// 命令设置
}