node应用cross-env参数设置及PM2参数设置方法
Posted shichangchun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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参数。
以上是关于node应用cross-env参数设置及PM2参数设置方法的主要内容,如果未能解决你的问题,请参考以下文章
在 AWS Stack 上运行更多具有不同参数的 node.js 应用程序
Failed at the @ watch script 'cross-env NODE_ENV=development 使用cross-env解决跨平台设置NODE_ENV的问题