文章目录
一、nodemon官网
二、为什么要使用nodemon
- 使用 node 启动一个服务,需要:
node server.js
修改了
server.js
文件,需要停止服务(ctrl + c
),再次启动才会生效;
有了nodemon
,就不用频繁手动重启server.js
,因为nodemon
可以监视源码改动,并自动重启服务。这样我们只需要专注写代码逻辑,不需要过多关注服务。
三、安装
3.1. 全局安装
npm install -g nodemon
3.2. 开发环境安装
npm install nodemon --save-dev
3.3. 验证安装成功没有
nodemon -v
四、配置 nodemon
配置 nodemon 有三种配置方式:命令参数、package.json和nodemon.json
三种配置的优先级: nodemon.json > package.json > 命令参数;
4.1. 方式一:通过命令行参数配置 nodemon
--help
,获取帮助;
nodemon --help
--config
:设置指定的配置文件;--ignore
:设置无需监视的文件路径;--exec
:执行脚本--watch
: 设置要监视的文件和文件夹路径;--ext
: 设置监视文件的后缀扩展名;
默认情况下,
nodemon
会watching path(s): *.*
所有项目文件,啥文件改动一下都要重启服务,其实没必要。
配置只监视 src 目录
nodemon --watch src server.js
配置监视文件的后缀扩展名
nodemon --ext js,json
上面使用的
--watch
参数,在这次--ext
中并没有保存下来,监视的目录又变成默认的:*
,所以说,命令配置临时用一下是可以的,常用的话,还是用配置文件香;
两个参数合并写法:
nodemon --watch src --ext js,json server.js
等价于配置文件:
{
watch: ['src/'],
ignore: [],
script: 'server.js'
options: {
extensions: ['js', 'json'],
exec: 'node'
}
}
4.2. 方式二:package.json 配置
不想用命令行模式,可以在 package.json 中的 nodemonConfig 选项中配置
"nodemonConfig": {
"watch":["src/"],
"ext":"js json"
}
4.3. 方式三:nodemon.json 配置
单独配置 nodemon.json 文件,需要新建
{
"watch": [
"src/"
],
"ext": "js json"
}
4.4. 完整的 nodemon.json 总结一下
{
"restartable": "rs",
"verbose": true,
"watch": [
"config/",
"router/",
"utils/",
"views/",
"app.ts",
"index.ts"
],
"ignore": [
"test/*.spec.ts"
],
"delay": "1000",
"exec": "TS_NODE_PROJECT=tsconfig.server.json node --inspect -r ts-node/register ./app.ts",
"ext": "ts ejs yml json"
}
nodemon.json 各项配置含义:
- –restartable:设置重启命令,默认是 rs;
- –verbose:是否输出重启的详细信息,布尔值,默认false;
- –watch:监视文件或文件夹的路径,数组,每个参数都指某个路径;
- –ignore:忽略监视的路径,默认忽略的是:.git,node_modules,bower–components,.sass-cache;
- –delay:设置延迟时间;
- –ext:指定默认文件扩展名,参数是字符串,空格分隔;
- –script:指定监视的文件,一般指项目入口的 js 文件;
- –exec:执行的命令;
- –env :运行环境 development 是开发环境,production 是生产环境,pr–ot 是端口;