在项目开发中经常会遇到要区分,当前项目的环境,做一些特别的配置,比如最正常配置的url
有时在项目可以看到 别人在 process.env 中得到环境名,但是自己
console.log(process.env)
// {}为什么没有想要的结果呢?这个时候,项目需要安装 cross-env
npm install cross-env --save安装之后 在package.json 中做相关配置
"scripts": {
"dev": "cross-env NODE_ENV=development webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"build": "node build/build.js"
},zai在scripts中 cross-env NODE_ENV=development NODE_ENV 是自己定义的,也可以写成a,b, c 随意, 之后在 build 文件夹下 找到 webpack.dev.conf.js 文件 在 plugins 中做如下配置
new webpack.DefinePlugin({
'process.env': require('../config/dev.env'),
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV)
}),注意 'process.env': require('../config/dev.env') 是项目本身的
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV) // 人为添加之后在项目中
const NODE_ENV=process.env.NODE_ENV;
console.log('--------NODE_ENV----------',NODE_ENV);
// development得到想要的结果