node应用cross-env参数设置及PM2参数设置方法

参数设置

在node开发过程中,我们经常使用npm run dev/build 命令

但是有时我们需要设置一些参数,在window系统中需要手动安装 cross-env

npm i cross-env -D

 

然后在script中添加参数设置 

"scripts": {
  "test": "cross-env NODE_ENV=development node index.js"
}

这样我们就可以随意设置我们需要的参数了。

 

使用PM2,为应用开启一个长进程

在线上 我们在命令行窗口,使用nmp run build启动我们项目后 ,当窗口关闭后,我们的应用进程也随之关闭了。

这时候,我们需要引入PM2 。在我们的云服务器上全局安装

npm install pm2 -g

 

这时再用pm2启动应用。这样即使关闭了我当前的xshell窗口。我的应用还是可以正常访问的。

pm2 start/stop index.js

 

或者在script中设置

"scripts": {
  "test": "cross-env NODE_ENV=development node index.js"
 "build": "pm2 start/stop index.js"
}

 

PM2启动应用时的参数设置

在根目录新建ecosystem.config.js配置文件

module.exports = {
  apps: [
    {
      // 生产环境
      name: "prod",
      // 项目启动入口文件
      script: "./index.js",
      // 项目环境变量
      env: {
        "NODE_ENV": "production"
      }
    },
  {
      // 测试环境
      name: "test",
      // 项目启动入口文件
      script: "./index.js",
      // 项目环境变量
      env: {
        "NODE_ENV": "test"
      }
    }
] }

 

当然这里你除了设置生产环境配置,测试和预发环境也是相同配形式,通过apps这个数组接受不同环境的配置对象。

再在我们的script中配置

"scripts": {
    "test": "cross-env NODE_ENV=development node index.js",
    "dev": "supervisor --harmony index.js",
    "build": "pm2 start ecosystem.config.js --only prod --watch" // 这里我只在线上使用了PM2
  },

 

这样我们当npm run test 或者 npm run build时

我们在node环境中通过 process.env.NODE_ENV 来获取我们的NODE_ENV参数。

 

上一篇:linux破解root密码


下一篇:Docker不再是唯一的选择