Node模块化(四)nodemon热更新及next向下匹配

一.热更新

nodemon是一个热更新中间件,作用可以自动监听项目文件的改动,代码被修改而且保存了以后,nodemon会自动帮我们重启项目,节约开发调试的时间

1.全局安装nodemon,全局安装模式将包安装到node.js的安装目录下。

全局安装只需要安装一次,以后所有的项目中就都可以调用nodemon程序了

npm i nodemon -g

2.nodemon的配置

项目的根目录下新建一个nodemon.json的文件

{
  "restartable": "rs",
  "ignore": [".git", ".svn", "node_modules /**/ node_modules"],
  "verbose": true,
  "execMap": {"js": "node --harmony"},
  "watch": [],
  "env": {"NODE_ENV": "development"
  },
  "ext": "js json"
}

 3.使用热更新启动项目

nodemon app

部分系统会因为权限系统报错:是因为PowerShell执行策略的问题。

解决方案:

1).以管理员的身份运行vscode

2).执行get-ExecutionPolicy,显示Restricted,表示状态是禁止的

3)执行:set-ExecutionPolicy Remotesigned;

4).这时候在执行get-ExecutionPolicy,就会显示Remotesigned。就可以了

 二.Next向下匹配

默认情况下,路由的匹配是从上向下进行的,一但有一个匹配上就不会向下匹配了。如果想向下继续匹配,需要增加一个next的形参,然后再函数的内部的最后添加next();

一般使用在中间件中。

router.get('/hello',(req,res,next)=>{
    //send()相当于封装了setHeader()和end(),每次响应都会设置MIME。而浏览器不接受重复设置MIME,因此当用户的一次请求有多个响应的,会提示“can not set header after send to client ”
    res.send('第一次匹配');
    console.log('第一次匹配');
    next();//继续向下匹配
})
router.get('/hello',(req,res)=>{
    res.send('第二次匹配')
})

 下面为报错信息

只设置一次的send的时候,就可以接着匹配了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值