简体   繁体   English

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

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

I'm trying to run a script from my package.json with PM2. 我正在尝试使用PM2从package.json运行脚本。 However, I am having trouble running the particular script. 但是,我在运行特定脚本时遇到了麻烦。 the scripts object in my package.json looks like this: 我的package.json中的scripts对象看起来像这样:

"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"
},

With npm, I can use npm run server:prod to start my production server. 使用npm,我可以使用npm run server:prod启动生产服务器。 However, PM2 doesn't take the run command. 但是,PM2不接受run命令。 I've tried multiple combinations with pm2 start but none seem to work. 我已经尝试使用pm2 start多种组合,但似乎都无法正常工作。 Anyone know the right way to do this? 有人知道正确的方法吗?

Try changing the npm scripts to use pm2 when starting the application. 启动应用程序时,尝试将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"
},

Then you would still start your server with npm run server:prod . 然后,您仍然可以使用npm run server:prod启动服务器。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM