1.安装cross-env
npm install cross-env --save-dev`
2.在项目根目录新建config文件夹
在config文件夹里面新建:
development.js
test.js
production.js
index.js
3.配置上面的文件
//development.js
module.exports = {
env: 'development', //环境名称
port: 3000, //服务端口号
mongodb_url: '', //数据库地址
redis_url:'', //redis地址
redis_port: '' //redis端口号
}
//test.js
module.exports = {
env: 'test', //环境名称
port: 3001, //服务端口号
mongodb_url: '', //数据库地址
redis_url:'', //redis地址
redis_port: '' //redis端口号
}
//production.js
module.exports = {
env: 'production', //环境名称
port: 3002, //服务端口号
mongodb_url: '', //数据库地址
redis_url:'', //redis地址
redis_port: '' //redis端口号
}
//index.js
var development = require('../config/development')
var test = require('../config/test')
var production = require('../config/production')
module.exports = {
development: development,
test: test,
production:production
}[process.env.NODE_ENV || 'development']
可以根据自己项目需要在里面删除或新增变量
4.引入文件
var config = require('../config');
//console.log("process.env.NODE_ENV=" + process.env.NODE_ENV);
//console.log("process.env.port=" + config.port)
在需要的位置引入上面的代码
5.配置package.json
"scripts": {
"dev": "cross-env NODE_ENV=development ./node_modules/.bin/nodemon bin/www",
"test": "cross-env NODE_ENV=test pm2 start ecosystem.config.js --env test --watch"
"prd": "cross-env NODE_ENV=production pm2 start bin/www",
},
上面是koa2的例子,这里主要是cross-env NODE_ENV='你在index.js里面暴露出来的key值'
后面根据你项目的启动文件来灵活配置;像vue项目就可以配置为:`
"scripts": {
"dev": "cross-env NODE_ENV=development webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"test": "cross-env NODE_ENV=test npm run build",
"build": "cross-env NODE_ENV=production node build/build.js",
},
运行npm run test
第4步的console就会打印process.env.NODE_ENV=test;process.env.port=3001