如何使用 PM2 运行 多个 package.json 脚本之一?

How to run one of multiple package.json scripts with PM2?

我正在尝试使用 PM2 运行 来自我 package.json 的脚本。但是,我在 运行 特定脚本时遇到了问题。我的 package.json 中的脚本对象如下所示:

"scripts": {
    "lint": "eslint src --ext .jsx",
    "clean": "rimraf ./www/build",
    "build": "npm run clean && NODE_ENV=production webpack",
    "server:prod": "NODE_ENV=production node server.js",
    "server:dev": "NODE_ENV=development node server.js"
},

有了 npm,我可以使用 npm run server:prod 来启动我的生产服务器。但是,PM2 不接受 运行 命令。我尝试了 pm2 start 的多种组合,但 none 似乎有效。有人知道正确的方法吗?

尝试更改 npm 脚本以在启动应用程序时使用 pm2。

"scripts": {
    "lint": "eslint src --ext .jsx",
    "clean": "rimraf ./www/build",
    "build": "npm run clean && NODE_ENV=production webpack",
    "server:prod": "NODE_ENV=production pm2 start server.js",
    "server:dev": "NODE_ENV=development pm2 start server.js"
},

那么你仍然会用npm run server:prod启动你的服务器。