nodeJS舒适开发 超级安利:nodemon 代码热更新

1,761 阅读3分钟

本文已参与[新人创作礼]活动, 一起开启掘金创作之路。

引言

nodemon 是一个工具,它通过在检测到目录中的文件更改时自动重新启动节点应用程序来帮助开发基于 Node.js 的应用程序。

作为一个nodeJS初学者,你是否有如下苦恼

  • 代码无法热更新,每次改完代码都要不断的重复停止任务、重新启动任务

如果你有这个烦恼

那么在今天看完这篇文章之后,你的烦恼便将烟消云散,从此开启欢乐的nodeJS编程

我将为你介绍一款伟大的工具:nodemon ——提高生产力,居家旅行必备好物。


nodemon 简介

nodemon其实是一个第三方模块,

  • 相当于我们初学前端的vscode插件live-server

  • 也相当于我们用vue-ui创建项目时的那个热编译的选项

总之,有了她,我们在写代码的时候,不用再苦于不断的重复操作命令行:停任务,跑任务

既然是第三方模块,并且早已声名远扬 那么我们必然可以在npm官网找到她

给大家伙一个传送门 nodemon-npm

如果速度慢,进不去的话,也可以去gitee上查看 传送门 nodemon-gitee

image.png

nodemon 使用教学

安装

使用一个第三方模块,第一步肯定是 npm下载她

npm install -g nodemon 

执行结果:

image.png

这个 -g 参数 就很细节,

加上她,nodemon就全局安装在你的电脑上了,从此在哪都可以用 nodemon 热更新代码

当然,咱也可以安装 nodemon 为 开发时依赖

npm install --save-dev nodemon 

这种开发时依赖项 根据名字就可以知道,仅仅是开发项目,本地写代码时生效。

在打包项目的时候,以及在项目打包完运行的时候不生效。

如果学过vue脚手架,对这个应该会很熟悉。

使用

以前,我们要跑自己写好的node项目都是在命令行输入:

node xxx.js

然后代码变了,要停止项目:

ctrl+c

接着又一次跑项目:

node xxx.js

但是现在————

热更新

大人,时代变了 shidabian了

我们只需要一次命令,就可以持久的输出:

nodemon xxx.js

image.png

如上图所示,只要你代码有修改的地方,在摁下保存的那一刻

nodemon 就会自动为你重新跑一遍代码

是不是很棒,是不是很人性化。

监控多个脚本文件

如何监控多个目录

默认情况下,nodemon 监视当前工作目录。如果您想控制该选项,请使用该--watch选项添加特定路径:

nodemon --watch 应用程序 --watch 库应用程序/server.js

./app现在 nodemon 只有在or./libs目录发生变化时才会重新启动。默认情况下,nodemon 将遍历子目录,因此无需显式包含子目录。

设置延迟更新

在某些情况下,您可能希望等到许多文件发生更改。检查新文件更改之前的超时时间为 1 秒。如果您要上传大量文件并且需要几秒钟的时间,这可能会导致您的应用不必要地重新启动多次。

要添加延迟重启,请使用以下--delay命令:

nodemon --delay 10 server.js

为了更精确,可以指定毫秒。要么作为浮点数:

nodemon --delay 2.5 server.js

或使用时间说明符(毫秒):

nodemon --delay 2500ms server.js

延迟数字是重新启动之前延迟的秒数(或毫秒,如果指定)。因此,nodemon 只会在最后一次文件更改后的给定秒数内重新启动您的应用程序。