nodemon工具

556 阅读2分钟

nodemon

nodemon是一种工具,可以自动检测到目录中的文件更改时通过重新启动应用程序来调试基于node.js的应用程序。

nodemon的安装

npm i nodemon -g //安装全局包

或

npm install --save-dev nodemon //安装开发依赖包

使用

在安装完nodemon之后可以使用nodemon来代替node运行一个js文件

node index.js

替换为

nodemon index.js

如果没有在应用中指定要启动的端口,可以在执行命令时指定端口

nodemon ./server.js localhost 8000 // 在本地8000端口启动node服务

查看nodemon里面的帮助选项

nodemon -h 或者 nodemon -help

截屏2021-09-13 上午8.36.29.png

  • --config:可设置指定配置文件
  • --ext:设置监听文件的后缀扩展名
  • --exec:执行脚本
  • --watch:设置要监听的文件路径
  • --ignore:设置无需监听的文件路径
  • --verbose:查看版本

配置文件

通过nodemon -config nodemon.json指定备用本地配置文件


{
  "restartable":"rs",//重启的命令,默认是 rs
  "ignore":[""],//忽略的文件后缀名或者文件夹,文件路径的书写用相对于 nodemon.json 所在位置的相对路径
  "verbose": true, //表示输出详细启动与重启信息
  "execMap":{
      "":"node",
      "test": "gulp test"
  },
  "events":{
    "start":"gulp", //子进程(即监控的应用)启动
    "crash":"",  //子进程崩溃,不会触发 exit
    "exit":"", //子进程完全退出,不是非正常的崩溃
    "restart":"gulp", //子进程重启
  },
  "ext": "js json",//监控指定后缀名的文件,用空格间隔。默认监控的后缀文件:.js, .coffee, .litcoffee, .json。但是对于没有文件后缀的文件,比如 www 文件,我暂时找不到怎么用 nodemon 去监控,就算在 watch 中包含了,nodemon 也会忽略掉
  "watch":[
    "./src/**"
  ],
  "env":{
    "NODE_ENV":"env", //  env: 是开发环境; 运行环境 development; production 是生产环境
    "PORT":"3000"
  },
  "legacy-watch":false //nodemon 使用 Chokidar 作为底层监控系统,但是如果监控失效,或者提示没有需要监控的文件时,就需要使用轮询模式(polling mode),即设置 legacy-watch 为 true,也可以在命令行中指定
}