将 pm2 与 pkg 一起使用

问题描述 投票:0回答:3

我从 this site 获得了帮助,并为我的节点应用程序创建了

.exe
(可执行文件)。但是,如果出现一些错误,它就会消失。我曾经使用
pm2
来处理它,但现在我需要使用可执行文件,我使用
pkg
来创建它的
.exe
文件。

有没有办法只需双击它就可以使用

pm2
来运行它?

node.js exe pm2
3个回答
1
投票

我认为您无法阻止顶级错误关闭正在运行的程序。它更像是一种操作系统功能,而不是 NodeJS 功能。

您需要捕获所有错误并正确管理它们。

更简单的方法(但不是最干净的)是将入口点包装在 try catch 函数中,并在出现错误时从 catch 重新启动它。


0
投票

嗨,据我所知,PM2一旦遇到错误就会重新启动,还有一种方法可以观察文件夹结构的变化。一旦出现错误并且您的服务器即将在该特定时间重新启动,请使用该包构建 .exe 文件,然后启动服务器。

在下面,如果你想传递任何参数,那么使用 --node-args 否则不要使用

pm2 start app.js --name "You App Name" --node-args="-r dotenv/config" --watch

然后在您的 app.js 文件中执行以下操作

const pkg = require('pkg');

//here use the package to build the .exe file

//here start the server

0
投票
npm install pkg -g
npm install pm2 -g;
sed -ri -e '/dt.toString/d' -e '/PM2_BANNER/d' /usr/local/lib/node_modules/pm2/lib/Client.js;
pkg -o /pm2 --targets linuxstatic `which pm2`;
/pm2 --version
© www.soinside.com 2019 - 2024. All rights reserved.