阅读量:0
文章目录
🟢 Express
Express
基于 Node.js 平台,快速、开放、极简的 web 开发框架。Express 是 Node.js 最受欢迎的 Web 应用框架之一。它提供了简洁而灵活的方式来构建 Web 服务器和 API。Express 提供了一组强大的工具和功能,使得开发 Web 应用变得简单而高效。
⭐️ 1.初始Express
- Web 应用
Express 是一个基于 Nodejs 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。 - API
丰富的 HTTP 快捷方法和任意排列组合的 Connect 中间件,让你创建健、友好的API 变得既快速又简单。 - 性能
Express 不对 Node,js 已有的特性进行二次抽象,我们只是在它之上扩展了 Web 应用所需的基本功能。
✨安装
npm install express --save
✨使用Express 搭建一台服务器
index.js
const express=require(`express`) // 导入express const app=express() app.get("/",(req,res)=>{ res.write("hello express") res.end() }) app.listen(5200,()=>{ console.log("Server start") })
send()
直接返回字符
app.get("/send",(req,res)=>{ res.send("hello express-send") })
返回html片段,可以看到直接解析
app.get("/send",(req,res)=>{ res.send(`<h1>hello express-send</h1>`) })
返回json数据·
app.get("/send",(req,res)=>{ res.send({ name:`初见`, age:23 }) })
⭐️2.Express-基本路由
路由是指如何定义应用的端点(URIs)以及如何响应客户端的请求。
路由是由一个 URI、HTTP 请求(GET、POST等)和若干个句柄组成,它的结构如下:app.METHOD(path, [callback…], callback), app 是 express 对象的一个实例, METHOD 是一个HTTP 请求方法, path 是服务器上的路径, callback 是当路由匹配时要执行的函数。下面是一个基本的路由示例
var express = require('express'); var app = express(); // respond with "hello world" when a GET request is made to the homepage app.get('/', function(req, res) { res.send('hello world'); });
路由路径和请求方法一起定义了请求的端点,它可以是字符串、字符串模式或者正则表达式。
// 匹配根路径的请求 app.get('/', function (req, res) { res.send('root'); }); // 匹配 /about 路径的请求 app.get('/about', function (req, res) { res.send('about'); }); // 匹配 /random.text 路径的请求 app.get('/random.text', function (req, res) { res.send('random.text'); });
✨1.使用字符串模式的路由路径示例:
// 匹配 acd 和 abcd app.get('/ab?cd', function(req, res) { res.send('ab?cd'); }); // 匹配 /ab/****** app.get('/ab/:id', function(req, res) { res.send('aaaaaaa'); }); // 匹配 abcd、abbcd、abbbcd等 app.get('/ab+cd', function(req, res) { res.send('ab+cd'); }); // 匹配 abcd、abxcd、abRABDOMcd、ab123cd等 app.get('/ab*cd', function(req, res) { res.send('ab*cd'); }); // 匹配 /abe 和 /abcde app.get('/ab(cd)?e', function(req, res) { res.send('ab(cd)?e'); });
下面就一个一个尝试一下
- /ab?cd可以匹配 acd 和 abcd
//?前面的b可选,可以有也可以没有 app.get("/ab?cd", (req, res) => { res.send("ab?cd 匹配 acd 和 abcd") });
- /ab/:id匹配/ab/******(常用于详情页,向后端传个id)
// 匹配 /ab/****** :也就是占位符的意思 app.get('/ab/:id', function(req, res) { res.send('/ab/:id匹配/ab/******'); });
- ab+cd匹配 abcd、abbcd、abbbcd等
// 匹配 abcd、abbcd、abbbcd等 //+前面的b可以重复n个 app.get('/ab+cd', function(req, res) { res.send('ab+cd匹配 abcd、abbcd、abbbcd等'); });
- ab*cd匹配 abcd、abxcd、abRABDOMcd、ab123cd等
// 匹配 abcd、abxcd、abRABDOMcd、ab123cd等 //*可匹配任意字符或任意多个字符 app.get(&#