是否有一种方法让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" ./
当前回答
现在,你可以用after:
pm2 start npm -- start
关注https://github.com/Unitech/pm2/issues/1317#issuecomment-220955319
其他回答
Pm2启动NPM——name" custom_pm2_name"——运行prod
"scripts": {
"prod": "nodemon --exec babel-node ./src/index.js"
}
当其他人没有的时候,这对我有用
它在CentOS 7上运行良好
PM2版本4.2.1
让我们举两个例子:
1. npm start //server.js
pm2 start "npm -- start" --name myMainFile
2. NPM运行main //main.js
pm2 start "npm -- run main" --name myMainFile
我需要在我的应用程序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"
希望有帮助
是的,你绝对可以通过优雅地使用pm2配置(json)文件非常有效地做到这一点。
包中。Json文件(包含以下示例脚本)
"scripts": {
"start": "concurrently npm:server npm:dev",
"dev": "react-scripts start",
"build": "node ./scripts/build.js",
"eject": "react-scripts eject",
"lint": "eslint src server",
"shivkumarscript": "ts-node -T -P server/tsconfig.json server/index.ts"
}
假设我们想要使用pm2实用程序运行名为“shivkumarscript”的脚本。因此,我们的pm2配置文件应该如下所示,包含值为'npm'的'script'键和值为'run '的'args'键。在本例中,脚本名称为“shivkumarscript”。
ecosystem.config.json文件
module.exports = {
apps: [
{
name: "NodeServer",
script: "npm",
automation: false,
args: "run shivkumarscript",
env: {
NODE_ENV: "development"
},
env_production: {
NODE_ENV: "production"
}
}
]
}
假设你已经在你的机器上安装了Node.js, NPM和PM2。然后下面应该是通过pm2启动应用程序的命令,它将反过来运行npm脚本(应用程序包中提到的命令行)。json文件):
生产环境:
pm2 start ecosystem.config.js --env production --only NodeServer
开发环境:
pm2 start ecosystem.config.js --only NodeServer
...和Boooom !人
首先,您需要创建一个run.js文件,并将下面的代码粘贴到该文件上。
const { spawn } = require('child_process');
//here npm.cmd for windows.for others only use npm
const workerProcess = spawn('npm.cmd', ['start']);
workerProcess.stdout.on('data', function (data) {
console.log('stdout: ' + data);
});
workerProcess.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});
workerProcess.on('close', function (code) {
console.log('child process exited with code ' + code);
});
然后用pm2运行这个文件。
pm2 start run.js
列表项