是否有一种方法让pm2运行npm启动脚本,或者你只需要运行pm2 start app.js
所以在发展中
npm start
然后在使用pm2的生产中,你会运行这样的程序
pm2 start 'npm start'
有一种等效的方法可以永远做到这一点:
forever start -c "npm start" ./
是否有一种方法让pm2运行npm启动脚本,或者你只需要运行pm2 start app.js
所以在发展中
npm start
然后在使用pm2的生产中,你会运行这样的程序
pm2 start 'npm start'
有一种等效的方法可以永远做到这一点:
forever start -c "npm start" ./
当前回答
我需要在我的应用程序pm2中运行一个特定的npm脚本(对于每个env) 在我的例子中,是当我创建一个登台/测试服务时
对我有用的命令(参数必须这样转发):
pm2 start npm --name "my-app-name" -- run "npm:script"
例子:
pm2 start npm --name "myApp" -- run "start:test"
pm2 start npm --name "myApp" -- run "start:staging"
pm2 start npm --name "myApp" -- run "start:production"
希望有帮助
其他回答
用npm start方法运行PM2并给它命名,运行这个, Pm2启动NPM——命名"your_app_name"——启动
通过为日志传递date-format来运行它, 启动npm——name" your_name"——log-date-format 'DD-MM HH:mm:ss。SSS’——开始
不幸的是,pm2似乎不支持您要求的确切功能https://github.com/Unitech/PM2/issues/1317。
建议的替代方案是使用生态系统。开始部署,其中可能包括生产和开发环境的设置。然而,这仍然使用npm start来引导你的应用程序。
Pm2启动NPM——name" custom_pm2_name"——运行prod
"scripts": {
"prod": "nodemon --exec babel-node ./src/index.js"
}
当其他人没有的时候,这对我有用
我在下面写了shell脚本(名为start.sh)。 因为我的包裹。Json有预启动选项。 我想运行npm start。
#!/bin/bash
cd /path/to/project
npm start
然后,通过pm2启动start.sh。
pm2 start start.sh --name appNameYouLike
是的。使用pm2启动npm——no-automation——name{应用程序名称}——运行{脚本名称}。它的工作原理。——no-automation标志的存在是因为如果没有它,PM2将不会在应用崩溃时重新启动应用。