node的启动环境

在开发的时候开发环境和正式环境用的接口地址是不一样的端口号可能也不一样,这时候就需要区分端口号,具体方法如下:

 在package.json文件的scripts中设置启动命令的时候区分开发和正式:

  

 "scripts": {
    "start": "set NODE_ENV=production && nodemon --inspect main.js", // 正式环境的时候执行这个方法, npm start
    "dev": "set NODE_ENV=development && nodemon --inspect main.js" // 开发环境的时候执行这个方法, npm run dev
  },

*** 在 linux & mac 环境中是使用 : "export NODE_ENV=production“;在windows环境下是:“set NODE_ENV=development“

可以安装  cross-env 来兼容不同的设备:

"scripts": {
    "start": "cross-env NODE_ENV=production nodemon --inspect main.js",
    "dev": "cross-env NODE_ENV=development  nodemon --inspect=9229 main.js",
  },

然后在main.js中通过环境不同设置不一样的端口号

const mydev = process.env.NODE_ENV
const port = (mydev.indexOf('production') >= 0 ? '8889' : '8888')
app.listen(port, function (err) {
    if(err){
      console.log('Server startup failed:'+err);
    }else{
        console.log('server start', port);
  }
});
原文地址:https://www.cnblogs.com/chun321/p/11114900.html