如何在未捕获的异常发生时重新启动Node.js应用程序
在本文中,我们将学习当发生未捕获的异常时,如何重新启动Node.js应用程序。为此,我们将使用pm2模块。
方法: 让我们一步一步看看方法:
- 步骤1: 安装 pm2模块 并使用它启动服务器。
- 步骤2: 当发生未捕获的异常时,执行 process.exit() 命令停止服务器。
- 步骤3: 然后,pm2模块将自动重新启动服务器。
process.exit() 停止服务器,pm2强制启动。通过这种方式,服务器将重新启动。
实现: 下面是上述方法的逐步实现。
步骤1:初始化NPM: 在终端中创建和定位您的项目文件夹,并输入以下命令
npm init -y
它初始化我们的节点应用程序并创建一个package.json文件。
步骤2:安装依赖项: 将您的根项目目录定位到终端,并输入以下命令
npm install express pm2
将express和pm2作为依赖项安装到您的项目中
步骤3:创建商品列表: 让我们创建一个产品数组,并将其设置为常数产品。
const products = [];
步骤4:为主页和产品页创建路由:
让我们创建两个路由,以便用户可以访问主页和产品页。
app.get('/', (req, res) => {
res.send('Hello Geeks!');
});
app.get('/products', (req, res) => {
if (products.length === 0) {
res.send('No products found!');
process.exit();
} else {
res.json(products);
}
});
在产品路由中,我们使用 process.exit() 方法来停止服务器。
完成的代码:
const express = require('express');
const app = express();
const products = [];
app.get('/', (req, res) => {
res.send('Hello Geeks!');
});
app.get('/products', (req, res) => {
if (products.length === 0) {
res.send('No products found!');
process.exit();
} else {
res.json(products);
}
});
app.listen(3000, ()=>{
console.log('listening on port 3000');
});
运行应用程序的步骤: 在终端内输入以下命令来运行您的脚本 ‘app.js’ 使用pm2。
pm2 start app.js
输出: