nodemon学习(一)简介、安装、配置、使用

  • nodemon学习(一)简介、安装、配置、使用已关闭评论
  • 72 次浏览
  • A+
所属分类:Web前端
摘要

nodemon用来监视node.js应用程序中的任何更改并自动重启服务,非常适合用在开发环境中。以前,我们开发一个node后端服务时,每次更改文件,均需重启一下,服务才能生效。这使我们的开发效率降低了很多。nodemon的出现,可以随时监听文件的变更,自动重启服务,我们开发时只需关注代码即可,不再需要手动重启服务。


简介

nodemon用来监视node.js应用程序中的任何更改并自动重启服务,非常适合用在开发环境中。以前,我们开发一个node后端服务时,每次更改文件,均需重启一下,服务才能生效。这使我们的开发效率降低了很多。nodemon的出现,可以随时监听文件的变更,自动重启服务,我们开发时只需关注代码即可,不再需要手动重启服务。

【在之前我们启动应用服务采用的方式都是node app.js,但我们每次修改完node代码之后都需要重启服务器即是重新运行命令node app.js才能完成修改。现在使用nodemon替代node在开发环境下启动服务就不会这么麻烦了。nodemon将监视启动目录中的文件,如果有任何文件更改,nodemon将自动重新启动node应用程序。nodemon不需要对代码或开发方式进行任何更改。 nodemon只是简单的包装你的node应用程序,并监控任何已经改变的文件。nodemon只是node的替换包,只是在运行脚本时将其替换命令行上的node。】

安装

全局安装

npm install -g nodemon

启动应用

nodemon [your node app]  nodemon index.js

使用

1、配置命令行:在package.json的scripts中配置

2、配置nodemon.json文件

3、配置package.json中的nodemonConfig

其中命令行:

"scripts": {     "start": "nodemon --watch src/ -e js,coffee app.js"   },

等价于配置文件(nodemon.json)

nodemon学习(一)简介、安装、配置、使用
{   watch: ['src/'],   ignore: [],   script: 'app.js'   options: {     extensions: ['js', 'coffee'],     exec: 'node'   } }
nodemon学习(一)简介、安装、配置、使用

命令行

"scripts": {     "start": "nodemon"   },

等价于配置文件(nodemon.json)

nodemon学习(一)简介、安装、配置、使用
{   watch: [], // meaning all subdirectories   ignore: [],   script: 'index.js',   options: {     extensions: ['js'],     exec: 'node'   } }
nodemon学习(一)简介、安装、配置、使用

其option 转化逻辑为

读命令行参数--->若无,查找本地local配置文件-->若无,查找全局配置文件->若无,尝试package.json中的main和start-->查找index.js

因此 配置启动文件,可加快启动速度,避免深度查找

不想在项目中单独维护nodemon.json配置文件,可在package.json中设置

package.json设置方法如下:

nodemon学习(一)简介、安装、配置、使用
{   "name": "nodemon",   "homepage": "http://nodemon.io",   "...": "... other standard package.json values",   "nodemonConfig": {     "ignore": ["test/*", "docs/*"],     "delay": "2500"   } }
nodemon学习(一)简介、安装、配置、使用

需要注意的是,不能再通过--config 设置文件,且本地不能再保存nodemon.json文件,否则package.json中的配置将被忽略

 

配置

nodemon --help或者nodemon -h 查看一下nodemon可以支持哪些运行参数。

nodemon学习(一)简介、安装、配置、使用

  • --config 可设置指定配置文件

  • --ext 设置监听文件的后缀扩展名,如想要监听ts文件的变更,需设置-e ts(文件后缀名)

  • --exec 执行脚本(执行的命令)

  • --watch 设置要监听的文件路径

  • --ignore 设置无需监听的文件路径

  • --verbose:设置日志输出模式,true为详细模式

这些参数也可通过配置nodemon.json文件来使用。

nodemon学习(一)简介、安装、配置、使用
{   "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学习(一)简介、安装、配置、使用

nodemon.json各配置项含义。

  • restartable:设置重启模式(指定重启的命令,是一个字符串,默认是 'rs')

  • verbose:是否输出重启的详细信息,值是一个布尔值,true 是打印详细信息,false 是不打印

  • watch:这里指定监视的文件夹或文件,是一个数组,每个参数是目录或文件)

  • ignore:忽略监视的文件或文件夹,默认忽略的文件有:.gitnode_modulesbower_components.sass-cache

  • delay:设置延迟时间

  • exec:执行的命令

  • ext:指定默认文件的后缀,参数是一个字符串,每个后缀之间用空格分隔,默认支持 js coffee litcoffee

  • script : 指定监视的文件,这个一般是指定项目入口的 js 文件 

  • env : 运行环境 development 是开发环境,production 是生产环境,port 是端口号

修改nodemon命令配置使用--config选项。

"start": "nodemon --config nodemon.json"

总结

  "start": "nodemon --config nodemon.json"

  "start": "nodemon"

  "start": "nodemon --watch src/ -e js,coffee app.js"

例子

首先创建一个文件:

// index.js  console.log('test');

执行命令:

nodemon index.js

在命令行中会出现下面的信息:

nodemon学习(一)简介、安装、配置、使用

修改文件,终端中输出的信息如下:

nodemon学习(一)简介、安装、配置、使用

在终端中输入 rs 会重启应用:

rs [nodemon] starting `node ./server/index.js`  [nodemon] 

结合配置参数使用

nodemon可以作为一个模块module和子进程child process来使用

nodemon学习(一)简介、安装、配置、使用
// index.js  const nodemon = require('nodemon'); const path = require('path');  const options = { // 配置文件   script: path.resolve(__dirname, 'src/test.js'),   "watch": [     "docs/"   ],   "ext": "md",   "restartable": 're',   "verbose": true };  nodemon(options).on('start', function () { // 启动时的事件   console.log('App has started'); }).on('quit', function () { // 退出时的事件   console.log('App has quit');   process.exit(); }).on('restart', function (files) { // 重启时的事件   console.log('App restarted due to: ', files); });
nodemon学习(一)简介、安装、配置、使用

执行程序之后的效果如下:

App has started App has started App restarted due to:  [ '/Users/negivup/Desktop/test/docs/nodemon.md' ] App has started App restarted due to:  [ '/Users/negivup/Desktop/test/docs/nodemon.md' ]

具体使用方法,可参见官网doc

github.com/remy/nodemo…

github.com/remy/nodemo…

参考

nodemon入门介绍

nodemon配置和使用

Node模块--nodemon

简介

nodemon用来监视node.js应用程序中的任何更改并自动重启服务,非常适合用在开发环境中。以前,我们开发一个node后端服务时,每次更改文件,均需重启一下,服务才能生效。这使我们的开发效率降低了很多。nodemon的出现,可以随时监听文件的变更,自动重启服务,我们开发时只需关注代码即可,不再需要手动重启服务。

【在之前我们启动应用服务采用的方式都是node app.js,但我们每次修改完node代码之后都需要重启服务器即是重新运行命令node app.js才能完成修改。现在使用nodemon替代node在开发环境下启动服务就不会这么麻烦了。nodemon将监视启动目录中的文件,如果有任何文件更改,nodemon将自动重新启动node应用程序。nodemon不需要对代码或开发方式进行任何更改。 nodemon只是简单的包装你的node应用程序,并监控任何已经改变的文件。nodemon只是node的替换包,只是在运行脚本时将其替换命令行上的node。】

安装

全局安装

npm install -g nodemon

启动应用

nodemon [your node app]  nodemon index.js

使用

1、配置命令行:在package.json的scripts中配置

2、配置nodemon.json文件

3、配置package.json中的nodemonConfig

其中命令行:

"scripts": {     "start": "nodemon --watch src/ -e js,coffee app.js"   },

等价于配置文件(nodemon.json)

nodemon学习(一)简介、安装、配置、使用
{   watch: ['src/'],   ignore: [],   script: 'app.js'   options: {     extensions: ['js', 'coffee'],     exec: 'node'   } }
nodemon学习(一)简介、安装、配置、使用

命令行

"scripts": {     "start": "nodemon"   },

等价于配置文件(nodemon.json)

nodemon学习(一)简介、安装、配置、使用
{   watch: [], // meaning all subdirectories   ignore: [],   script: 'index.js',   options: {     extensions: ['js'],     exec: 'node'   } }
nodemon学习(一)简介、安装、配置、使用

其option 转化逻辑为

读命令行参数--->若无,查找本地local配置文件-->若无,查找全局配置文件->若无,尝试package.json中的main和start-->查找index.js

因此 配置启动文件,可加快启动速度,避免深度查找

不想在项目中单独维护nodemon.json配置文件,可在package.json中设置

package.json设置方法如下:

nodemon学习(一)简介、安装、配置、使用
{   "name": "nodemon",   "homepage": "http://nodemon.io",   "...": "... other standard package.json values",   "nodemonConfig": {     "ignore": ["test/*", "docs/*"],     "delay": "2500"   } }
nodemon学习(一)简介、安装、配置、使用

需要注意的是,不能再通过--config 设置文件,且本地不能再保存nodemon.json文件,否则package.json中的配置将被忽略

 

配置

nodemon --help或者nodemon -h 查看一下nodemon可以支持哪些运行参数。

nodemon学习(一)简介、安装、配置、使用

  • --config 可设置指定配置文件

  • --ext 设置监听文件的后缀扩展名,如想要监听ts文件的变更,需设置-e ts(文件后缀名)

  • --exec 执行脚本(执行的命令)

  • --watch 设置要监听的文件路径

  • --ignore 设置无需监听的文件路径

  • --verbose:设置日志输出模式,true为详细模式

这些参数也可通过配置nodemon.json文件来使用。

nodemon学习(一)简介、安装、配置、使用
{   "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学习(一)简介、安装、配置、使用

nodemon.json各配置项含义。

  • restartable:设置重启模式(指定重启的命令,是一个字符串,默认是 'rs')

  • verbose:是否输出重启的详细信息,值是一个布尔值,true 是打印详细信息,false 是不打印

  • watch:这里指定监视的文件夹或文件,是一个数组,每个参数是目录或文件)

  • ignore:忽略监视的文件或文件夹,默认忽略的文件有:.gitnode_modulesbower_components.sass-cache

  • delay:设置延迟时间

  • exec:执行的命令

  • ext:指定默认文件的后缀,参数是一个字符串,每个后缀之间用空格分隔,默认支持 js coffee litcoffee

  • script : 指定监视的文件,这个一般是指定项目入口的 js 文件 

  • env : 运行环境 development 是开发环境,production 是生产环境,port 是端口号

修改nodemon命令配置使用--config选项。

"start": "nodemon --config nodemon.json"

总结

  "start": "nodemon --config nodemon.json"

  "start": "nodemon"

  "start": "nodemon --watch src/ -e js,coffee app.js"

例子

首先创建一个文件:

// index.js  console.log('test');

执行命令:

nodemon index.js

在命令行中会出现下面的信息:

nodemon学习(一)简介、安装、配置、使用

修改文件,终端中输出的信息如下:

nodemon学习(一)简介、安装、配置、使用

在终端中输入 rs 会重启应用:

rs [nodemon] starting `node ./server/index.js`  [nodemon] 

结合配置参数使用

nodemon可以作为一个模块module和子进程child process来使用

nodemon学习(一)简介、安装、配置、使用
// index.js  const nodemon = require('nodemon'); const path = require('path');  const options = { // 配置文件   script: path.resolve(__dirname, 'src/test.js'),   "watch": [     "docs/"   ],   "ext": "md",   "restartable": 're',   "verbose": true };  nodemon(options).on('start', function () { // 启动时的事件   console.log('App has started'); }).on('quit', function () { // 退出时的事件   console.log('App has quit');   process.exit(); }).on('restart', function (files) { // 重启时的事件   console.log('App restarted due to: ', files); });
nodemon学习(一)简介、安装、配置、使用

执行程序之后的效果如下:

App has started App has started App restarted due to:  [ '/Users/negivup/Desktop/test/docs/nodemon.md' ] App has started App restarted due to:  [ '/Users/negivup/Desktop/test/docs/nodemon.md' ]

具体使用方法,可参见官网doc

github.com/remy/nodemo…

github.com/remy/nodemo…

参考

nodemon入门介绍

nodemon配置和使用

Node模块--nodemon