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

参数设置node

在node开发过程当中,咱们常用npm run dev/build 命令shell

可是有时咱们须要设置一些参数,在window系统中须要手动安装 cross-envnpm

npm i cross-env -D

 

而后在script中添加参数设置 数组

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

这样咱们就能够随意设置咱们须要的参数了。服务器

 

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

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

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

npm install pm2 -g

 

这时再用pm2启动应用。这样即便关闭了我当前的xshell窗口。个人应用仍是能够正常访问的。spa

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参数。

相关文章
相关标签/搜索