express学习笔记4 - 热更新以及express-boom

news2024/9/20 18:01:41

我们每次改动代码的时候都要重启项目,现在我们给项目添加一个热更新
 

npm install --save-dev nodemon # or using yarn: yarn add nodemon -D

在package.json添加一行代码
 

"dev": "nodemon ./bin/www"

 重启项目 然后随便做改动,刷新页面,如果有变化就成功了,后期我们改动只需要刷新页面就可以了
 

node app.js

接下来安装expres-boom (我一般用yarn,你们可以用npm或者pnpm)
 

yarn add express-boom --S

修改一下刚在router/index.js封装的404代码
引入boom

const boom = require('boom')

使用boom
 

router.use((req, res, next) => {
    // console.log(req,res)
    next(boom.notFound('接口不存在'))
  })

代码片段
 

const express = require('express')
const boom = require('boom')

// 注册路由
const router = express.Router() 
 
router.get('/',function(req,res){
    res.send('让我们开始express之旅')
})
/**
 * 集中处理404请求的中间件
 * 注意:该中间件必须放在正常处理流程之后
 * 否则,会拦截正常请求
 */
router.use((req, res, next) => {
    // console.log(req,res)
    next(boom.notFound('接口不存在'))
  })
module.exports = router

刷新页面(http://localhost:8000/user)

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/820957.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

将子域名连接到 Shopify 的步骤,也就是把不是www的域名链接到shopify商店,二级域名链接到shopify店铺

将子域名连接到 Shopify 的步骤: 1. Shopify 后台: 首先,检查您的 Shopify 控制面板并验证您使用的是 Shopify 提供的免费域(也就是xxxxxxxxx.myshopify.com)。这是至关重要的,因为它将帮助您在连接子域时避…

数据结构--图的遍历 DFS

数据结构–图的遍历 DFS 树的深度优先遍历 //树的先根遍历 void PreOrder(TreeNode *R) {if(R ! NULL){visit(R); //访问根节点while(R还有下一个子树T)PreOrder(T);//先根遍历下一棵子树} }图的深度优先遍历 bool visited [MAX_VERTEX_NUM]; //访问标记数组 void DFS(Grap…

最长公共前缀_力扣14

文章目录 题目描述法一 横向比较 题目描述 法一 横向比较 将多个字符串比较转换为两两比较,如果比较完最长公共前缀已经是空串,则最长公共前缀一定是空串,因此不需要继续遍历剩下的字符串,直接返回空串。 string longestCommonPre…

Django实现音乐网站 ⑵

使用Python Django框架制作一个音乐网站,在系列文章1的基础上继续开发,本篇主要是后台歌手表模块开发。 目录 表结构设计 歌手表(singer)结构 创建表模型 设置图片上传路径 创建上传文件目录 生成表迁移 执行创建表 后台管…

uniapp 路由跳转方式

export function goBack(index, url) {if (index 1) { // 关闭当前页,返回上一页面或多级页面。uni.navigateBack({delta: url,animationType: pop-out,animationDuration: 300});} else if (index 2) { // 保留当前页,跳转到非tabbar页面,…

GWJDN-1000B高温介电温谱分析仪

GWJDN-1000B高温介电温谱分析仪 关键词:弹性常数等C-V ,介电常数,损耗角,电导率,C-特性 产品简介 GWJDN-1000B高温介电温谱分析仪采用当前的自动平衡电桥原理研制成功的新一高温介电温谱分析仪,产品全新的电子器件。…

【TypeScript】类型断言的基本使用

类型断言的概念 有些时候开发者比TS本身更清楚当前的类型是什么&#xff0c;可以使用断言&#xff08;as&#xff09;让类型更加精确和具体。 类型断言&#xff08;Type Assertion&#xff09;表示可以用来手动指定一个值的类型。 类型断言语法&#xff1a; 值 as 类型 或 <…

Character.AI搭建了用户创建AI角色并与之聊天的平台及社区

character Character.AI 公司是一家致力于通用人工智能&#xff08;AGI&#xff09;的全栈公司&#xff0c;于2021年10月创立&#xff0c;创始团队来自Google Brain和Meta AI&#xff0c;是深度学习、大型语言模型和对话领域的专家。Character.AI搭建了用户创建AI角色并与之聊…

Patchwork 黑客组织瞄准我国大学和研究机构

据知道创宇404高级威胁情报团队近期发现&#xff0c;名为“Patchwork”的黑客组织正以中国的大学和研究机构为目标进行活动&#xff0c;部署名为EyeShell的后门。 Patchwork也被称为“Operation Hangover”和“Zinc Emerson”&#xff0c;被怀疑是来自印度的APT组织。该组织发起…

d3dcompiler_47.dll缺失如何修复,教快速修复d3dcompiler_47.dll文件

在运行某些图形密集型应用程序或游戏时&#xff0c;你可能会遇到一条关于缺少d3dcompiler_47.dll文件的错误信息。这是一个常见的问题&#xff0c;今天我们主要就是来给大家讲解一下这方面的知识的&#xff0c;教大家怎么解决缺失d3dcompiler_47.dll的情况。 一. d3dcompiler_…

前端(十一)——Vue vs. React:两大前端框架的深度对比与分析

&#x1f60a;博主&#xff1a;小猫娃来啦 &#x1f60a;文章核心&#xff1a;Vue vs. React&#xff1a;两大前端框架的深度对比与分析 文章目录 前言概述原理与设计思想算法生态系统与社区支持API与语法性能与优化开发体验与工程化对比总结结语 前言 在当今快速发展的前端领…

智能提词器有哪些?了解一下这款提词工具

智能提词器有哪些&#xff1f;使用智能提词器可以帮助你更好地准备和交付演讲、报告或其他提词场合。它可以提高你的效率&#xff0c;节省你的时间&#xff0c;并让你更加自信地与听众沟通。另外&#xff0c;智能提词器还可以提供一些有用的功能&#xff0c;如语音识别、智能建…

Jmeter用于接口测试中,关联如何实现

Jmeter用于接口测试时&#xff0c;后一个接口经常需要用到前一次接口返回的结果&#xff0c;应该如何获取前一次请求的结果值&#xff0c;应用于后一个接口呢&#xff0c;拿一个登录的例子来说明如何获取。 1、打开jmeter, 使用的3.3的版本&#xff0c;新建一个测试计划&#x…

C++和Lua交互总结

C和Lua交互总结 Chapter1. C和Lua交互总结一、Lua与C的交互机制——Lua堆栈二、堆栈的操作三、C 调用 Lua1&#xff09;C获取Lua值2&#xff09;C调用Lua函数示例&#xff1a; 四、Lua 调用 C包装C函数 最后总结一下 Chapter1. C和Lua交互总结 原文链接&#xff1a;https://bl…

无涯教程-Lua - 条件判断

if结构要求程序员确定一个或多个要由程序判断或测试的条件&#xff0c;以及要确定的条件为真的情况下要执行的一条或多条语句&#xff0c;如果条件为真&#xff0c;则执行指定语句&#xff0c;如果条件为假&#xff0c;则执行其他语句。 Lua编程语言假定布尔值 true 和 non-nil…

PHP高级检索功能的实现以及动态拼接sql

我们学习了解了这么多关于PHP的知识&#xff0c;不知道你们对PHP高级检索功能的实现以及动态拼接sql是否已经完全掌握了呢&#xff0c;如果没有&#xff0c;那就跟随本篇文章一起继续学习吧! PHP高级检索功能的实现以及动态拼接sql。完成的功能有&#xff1a;可以单独根据一个…

Python常用命令

1.python常用函数 type() 函数&#xff1a;查询对象的类型 input() 函数在&#xff1a;函数接受一个标准输入数据&#xff0c;返回为 string 类型 range() 函数&#xff1a;用于构造一个从[start, stop) &#xff08;不包含stop&#xff09;之间的连续的不可变的整数序列对象…

SpringBoot整合knife4j(快速入门超详细版)

前言 查看此文章前强烈建议先看这篇文章&#xff1a;Java江湖路 | 专栏目录 该文章纪录的是SpringBoot快速集成Knife4j&#xff0c;每一步都有记录&#xff0c;争取每一位看该文章的小伙伴都能操作成功。达到自己想要的效果~ 文章目录 前言1、什么是Knife4j2、SpringBoor整合K…

实现邮箱管理之gmail邮箱、office365(Azure)邮箱之披荆斩棘问题一览

要进行Office365邮箱的授权对接&#xff0c;你需要先申请一个应用&#xff0c;并获取授权访问令牌。 以下是一个简单的步骤&#xff1a; 登录 Azure 门户&#xff1a;https://portal.azure.com/创建一个新的应用程序&#xff0c;或者使用现有的应用程序。要创建新的应用程序&…

在人间烟火里,卡萨帝开启品牌新征程

大暑刚过天正热&#xff0c;尤其是在今年厄尔尼诺现象席卷太平洋的背景下&#xff0c;人们对空调的需求持续“升温”。CCTV2财经频道《正点财经》在专题报道中提到&#xff0c;6月国内空调产销两旺&#xff0c;同比增长均在35%以上。 炙热的天气下&#xff0c;南方居民有更加难…