我在生产中需要nodemon吗?

vktxenjb  于 2023-05-28  发布在  Node.js
关注(0)|答案(2)|浏览(201)

当在本地处理NodeJS项目时,需要nodemon以使编码更容易。我经常看到它只作为dev-dependency安装的情况,所以我想知道:在部署时,正确的方法是什么?我们应该只将它作为开发依赖项包含进来,还是应该将它也包含到服务器中?
在这个项目中,我看到nodemon作为常规依赖项安装,然后在package.json配置中:

"scripts": {
    "start": "nodemon src/app.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

但是我想只把它作为一个dev-dependency来安装,然后像这样修改配置:

"scripts": {
    "start-prod": "node src/app.js",
    "start-dev": "nodemon src/app.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

所以我想知道这是否是一个正确的方法?我不明白为什么在服务器上我会用nodemon来监视文件的变化,所以我想知道我是否做对了?如果有时候有需要,在什么情况下会有需要?

6ju8rftf

6ju8rftf1#

简短回答:在生产环境中不需要nodemon。
根据nodemon on npm
nodemon是一个帮助开发基于node.js的应用程序的工具,当检测到目录中的文件更改时,它会自动重新启动节点应用程序。
它是一个帮助开发的工具,主要是在文件更改时重新启动应用服务器。如果你想通过脚本运行nodemon,你可以将它添加到开发依赖项中。您可以在全局安装它。
npm install -g nodemon # or using yarn: yarn global add nodemon
nodemon将全局安装到您的系统路径。您也可以将nodemon作为开发依赖项安装:
npm install --save-dev nodemon # or using yarn: yarn add nodemon -D

编辑:

如果你想让你的应用即使在崩溃的情况下也能保持活跃,你应该考虑使用pm2
PM2是Node.js应用程序的生产流程管理器,具有内置的负载均衡器。它允许您永远保持应用程序的运行状态,在不停机的情况下重新加载它们,并简化常见的系统管理任务。

lsmd5eda

lsmd5eda2#

当在本地处理NodeJS项目时,需要nodemon以使编码更容易。
随着Node.js 18或更高版本中--watch模式功能的发布,您可以跳过使用nodemon,只需添加--watch模式即可:

node --watch index.js

相关问题