node 第十三天 express初见

news/2024/7/19 10:47:52 标签: express, node.js, 前端, javascript
  1. express概念

Fast, unopinionated, minimalist web framework for Node.js
快速、独立、极简的 Node.js Web 框架。

  1. express相当于前端的jquery, 在不更改不侵入原生node的基础上封装了大量易用且实用的服务端api, express框架的封装原理就是前面第十天我们自己封装的简易服务器, 不过express做的抽象要比我们自己封装服务器多得多
  2. 使用 Express 应用生成器 这个可以比作做前端的项目初始化脚手架比如vue-cli vite
1.
npm install -g express-generator 
安装生成器
2.
express --view=pug myapp 
生成应用, 一些404页面, 静态资源目录帮我们做好了, 使用 handlebars 作为模板引擎, 关于handlebars其实是一个非常简单的模板引擎
感兴趣可以去查阅相关资料
  1. 基础api介绍
//路径匹配
//1.匹配 /abcd
app.use('/abcd', (req, res, next) => {
  console.log('/abcd');
  next();
});
//2.匹配 /abcd /abd
app.use('/abc?d', (req, res, next) => {
  console.log('/abc?d');
  next();
});
//3.匹配 /abcd /abbcd /abbbbbbcd
app.use('/ab+cd', (req, res, next) => {
  console.log('/ab+cd');
  next();
});
//4.匹配 /abcd /abxcd /abxxxxxcd
app.use('/ab*cd', (req, res, next) => {
  console.log('/ab*cd');
  next();
});
//5.匹配 /abcd /ad
app.use('/a(bc)?d', (req, res, next) => {
  console.log('/a(bc)?d');
  next();
});
//6.正则匹配 /abc开头的路径 或 /xyz开头的路径
app.use(/\/abc|\/xyz/, (req, res, next) => {
  console.log('正则匹配');
  next();
});
//7.数组匹配 /abc /xyz 开头的路径
app.use(['/abc', '/xyz'], (req, res, next) => {
  console.log('数组匹配');
  next();
});
app.use(/.*/, (req, res, next) => {
  res.json({ over: true });
});

//一些输出
app.use('/login/:path/:name', (req, res, next) => {
  console.log(req.baseUrl, 'baseUrl');
  console.log(req.body, 'body');
  console.log(req.cookies, 'cookie');
  console.log(req.fresh, '客户端是否有缓存');
  console.log(req.hostname, 'client hostname');
  console.log(req.ip, 'client ip');
  console.log(req.method, 'method');
  console.log(req.path, 'path');
  console.log(req.params, 'params');
  console.log(req.get('Content-Type'), 'header["content-type"]');
  console.log(req.is('json') === 'json', 'req.header["content-type"] is json');
  console.log('over ! ! !');
  res.json({ msg: 'please login' });
  next();
});
  1. 工欲善其事,必先利其器, 在调试服务器接口的时候可以使用postman等工具, 比在浏览器调试方便
    虽然通篇说的后端都是web服务器, 但其实, 在http协议或者其它协议的前提下, 后端的接口不只是能够服务web, 还能服务app 嵌入式等
    postman相比apipost更适合开发人员做一点简单的测试, 更轻量好用
    界面如下, 开箱即用, 需要汉化可以去github上拿 连接
    postman

http://www.niftyadmin.cn/n/5128818.html

相关文章

目标检测 YOLOv5 预训练模型下载方法

目标检测 YOLOv5 预训练模型下载方法 flyfish https://github.com/ultralytics/yolov5 https://github.com/ultralytics/yolov5/releases 可以选择自己需要的版本和不同任务类型的模型 后缀名是pt

疾控采样器在污水采样中发挥的重要作用

便携式污水采样器现在的应用领域越来越多样化,适用范围也更广泛。主要适用于各级环境监测站、监察机构、科研院所、水务、市政及污水处理厂,对工业污染源排放口、江、河、湖、海等水样进行自动采样。可广泛应用于水环保、疾控采样、污水禁毒等领域。 对…

WSL——ubuntu中anaconda换源(conda、pip)

1、conda 打开Ubuntu,输入下列命令。 conda config --set show_channel_urls yes 在文件管理器地址栏,输入:\\wsl$。打开Ubuntu根路径,其中显示了.condarc文件。 以文本形式打开,并输入要换的源,保存即可。…

使用easypoi-spring-boot-starter 4.1.1导入excel报错NoSuchMethodError和NoSuchMethodError

前言 使用easypoi进行excel的导入遇到的错误以及解决办法 easypoi项目地址&#xff1a;https://gitee.com/lemur/easypoi easypoi的Maven依赖&#xff1a; <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-spring-boot-starter<…

角谷猜想(c++题解)

题目描述 所谓角谷猜想&#xff0c;是指对于任意一个正整数&#xff0c;如果是奇数&#xff0c;则乘3加1&#xff0c;如果是偶数&#xff0c;则除以2&#xff0c;得到的结果再按照上述规则重复处理&#xff0c;最终总能够得到1。如&#xff0c;假定初始整数为5&#xff0c;计算…

怎么把成绩发给家长

亲爱的小伙伴们&#xff0c;作为老师&#xff0c;我们经常需要将学生的成绩发送给家长。但是&#xff0c;手动发送成绩不仅效率低&#xff0c;还容易出错。这时候&#xff0c;我们就需要一个强大的工具——成绩查询系统。它不仅可以轻松实现学生成绩的录入、存储和查询&#xf…

服务器防护安全措施有哪些?

服务器是互联网个体以及企业都必须要接触的载体&#xff0c;服务器的安全关系到其业务的正常运营&#xff0c;一旦发生入侵&#xff0c;服务器上的资料和程序将可能受到严重的损坏&#xff0c;届时再来准备防护系统保护我们的服务器就为时已晚&#xff0c;所以我们服务器安全防…

Python数据结构——字节序列

字节序列是一种非常重要的数据结构&#xff0c;它在Python中具有广泛的应用&#xff0c;用于处理二进制数据、文件I/O、网络通信等。本文将详细介绍Python中字节序列数据结构的使用&#xff0c;包括字节串&#xff08;bytes&#xff09;、字节数组&#xff08;bytearray&#x…