express

avatar
作者
筋斗云
阅读量:0

文章目录


🟢 Express

Express
基于 Node.js 平台,快速、开放、极简的 web 开发框架。Express 是 Node.js 最受欢迎的 Web 应用框架之一。它提供了简洁而灵活的方式来构建 Web 服务器和 API。Express 提供了一组强大的工具和功能,使得开发 Web 应用变得简单而高效。

⭐️ 1.初始Express

在这里插入图片描述

  1. Web 应用
    Express 是一个基于 Nodejs 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。
  2. API
    丰富的 HTTP 快捷方法和任意排列组合的 Connect 中间件,让你创建健、友好的API 变得既快速又简单。
  3. 性能
    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'); }); 

下面就一个一个尝试一下

  1. /ab?cd可以匹配 acd 和 abcd
//?前面的b可选,可以有也可以没有 app.get("/ab?cd", (req, res) => {       res.send("ab?cd 匹配 acd 和 abcd") }); 

在这里插入图片描述

  1. /ab/:id匹配/ab/******(常用于详情页,向后端传个id)
// 匹配 /ab/******    :也就是占位符的意思 app.get('/ab/:id', function(req, res) {       res.send('/ab/:id匹配/ab/******'); }); 

在这里插入图片描述

  1. ab+cd匹配 abcd、abbcd、abbbcd等
// 匹配 abcd、abbcd、abbbcd等 //+前面的b可以重复n个 app.get('/ab+cd', function(req, res) {       res.send('ab+cd匹配 abcd、abbcd、abbbcd等'); }); 

在这里插入图片描述

  1. ab*cd匹配 abcd、abxcd、abRABDOMcd、ab123cd等
// 匹配 abcd、abxcd、abRABDOMcd、ab123cd等 //*可匹配任意字符或任意多个字符 app.get(&#

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!