让前端飞Web前端之路

根据cross-env区分本地,测试,生产环境

2020-04-07  本文已影响0人  _Crown
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

上一篇 下一篇

猜你喜欢

热点阅读