判断项目当前运行环境(测试,开发,线上)

2,079 阅读1分钟

在项目开发中经常会遇到要区分,当前项目的环境,做一些特别的配置,比如最正常配置的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

得到想要的结果