我正在运行node.js应用并使用pm2进行启动。 对于pm2,我创建了一个process.json文件来定义我的app和两个环境(prod和dev)。
对于开发模式,我想启用pm2的watch选项,但不启用prod模式。
但是我认为无法定义这个。 此选项在两种模式下均可激活,或者均不在任何模式下激活。
你能帮我做一下吗?
{
"apps": [{
"name": "myapp",
"script": "./app.js",
"watch": ["public", "views"],
"env": {
"LOGLEVEL": "debug",
"LOGFILE": "debug.log"
},
"env_production": {
"LOGLEVEL": "info",
"LOGFILE": "info.log"
}
}]
}
答案 0 :(得分:0)
注意:此解决方案似乎无法在100%的时间内正常工作。可能取决于设置
可以在env配置中指定Watch:
{
"apps": [{
"name": "myapp",
"script": "./app.js",
"env": {
"watch": ["public", "views"],
"LOGLEVEL": "debug",
"LOGFILE": "debug.log",
},
"env_production": {
"watch": false,
"LOGLEVEL": "info",
"LOGFILE": "info.log"
}
}]
}
我用以下方法测试了这个序列:
pm2 start ecosystem.json
- >启用观看
pm2 delete 0
- >需要删除应用以更改环境
pm2 start ecosystem.json --env production
- >禁用手表
答案 1 :(得分:0)
这有点旧,但是您可以使用pm2随附的pm2-dev
。
只需删除watch
中的ecosystem.json
标记或将其分配给false
。
然后:
# Start in development env
pm2-dev ecosystem.json
# Start in production env
pm2 start ecosystem.json --env production
使用pm2-dev
,“手表”将自动启用。使用pm2 start
,“监视”将不会失败。