PM2仅在开发模式下观看

时间:2017-06-26 09:04:39

标签: node.js pm2

我正在运行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"
    }
}]
}

2 个答案:

答案 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"
    }
}]
}

我用以下方法测试了这个序列:

  1. pm2 start ecosystem.json - >启用观看

  2. pm2 delete 0 - >需要删除应用以更改环境

  3. 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,“监视”将不会失败。