前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开发小工具:nodemon

开发小工具:nodemon

作者头像
凌虚
发布2020-07-18 18:24:14
9210
发布2020-07-18 18:24:14
举报

在开发nodejs程序时,每一次程序的修改都需要我们Ctrl+c中断服务然后重启才能生效,这种人工手动反复操作的过程相当浪费时间,为此我们需要一个能够自动检测代码变化并自动重启服务的工具,而nodemon正是为此而生的,当然forever和pm2同样具有热加载自动重启的功能,但是直接使用它们那就是杀鸡用牛刀了,而nodemon小巧灵活的特点,正是我们在开发环境中所需要的。

安装


npm install nodemon -g

全局安装即可,这样不用在每个项目里再安装一遍。

注意:在Windows系统下nodemon安装之后有可能并不能正常使用,为此需要手动配置系统的环境变量,右击计算机--属性--高级系统设置--环境变量中设置(当然不同系统会有点区别)path值,在用户变量和系统变量path中都加上 C:\Windows\System32,然后重启电脑,就是因为配置好环境变量后没有重启电脑,我在这纠结浪费了不少时间。

使用


nodemon的使用相当简单:命令行输入

nodemon app.js

这样就可以启动app.js文件并监视文件变化了。

当然对于整个工程你也可以在package.json中配置一条nodemon启动脚本:

这样只要我们在命令行输入

npm run dev

就可以监视代码变化并自动启动了。

配置


对于一个工程项目而言,并不是所有的文件都需要我们监听,比如.git文件和node_modules等等,同样的我们在开发过程中也可能需要只监听几个特定的文件,这就需要配置下nodemon了。

nodemon默认的配置文件名为nodemon.json:

上图是一个可以通用的nodemon.json配置文件,可以看到其中指定了可以手动重启的命令为 rs ,忽视监听的文件, 指定监听的文件,启动时的环境变量等等,相当简单有效。有了配置文件之后只需要在命令行输入nodemon即可启动服务。

但是回过头看仔细看看,nodemon.json文件中并没有指定启动文件,但是却能成功启动,这是为什么?因为nodemon会默认去package.json中找main属性对应的文件,如果没有则再去找scripts中start对应的脚本,还没有呢,当然就error了。

问题


使用nodemon成功监听启动了指定的入口文件如before.js后,如果将启动的入口文件修改为另一个文件如after.js,其自动重启的依然是最开始的入口文件before.js。但是想一想,一般来说项目的入口文件是不会改变的,比如/bin/www,通常只会修改其中的代码,并不会将/bin/www指向另一个。

总而言之,使用nodemon监听代码变化并自动重启服务可以很好的提升我们的开发效率,当然只建议在开发环境下使用。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Node Python Go全栈开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档