首页 > 其他分享 >Express 简介、安装、使用和案例

Express 简介、安装、使用和案例

时间:2022-12-15 22:00:33浏览次数:85  
标签:Express http 请求 简介 app express 案例 res 路由

Express是什么

express 是一个快速,简单,极简的 node.js 应用开发框架,通过它,可以轻松构建各种 Web 应用(后端)。例如:

接口服务

传统的Web网站

开发工具集成

官网:​​http://expressjs.com​

GitHub:​​https://github.com/expressjs/express​

中文文档(非官方):​​https://www.expressjs.com.cn​


express 本身是极简的,仅提供了 web 开发的基础功能,但是它通过中间件的方式集成了许多外部插件来处理 http 请求。

body-parser:解析 http 请求体

compression:压缩 http 响应

cookie-parser:解析 cookie 数据

cors:处理跨域资源请求

morgan: http 请求日志记录

express 中间件的特性固然强大,让 express 本身变得灵活和简单,要那么多包组合在一起,也是件麻烦事;


express 不对 node.js 已有的特性进行二次抽象,只是在它之上扩展了 web 应用所需的基本功能。

内部使用的还是  http 模块

请求对象继承自: http.IncomingMessage

响应对象继承自:http.ServerResponse


express 特性

简单易学

丰富的基础 API 支持,以及常见的 HTTP 辅助程序,如:重定向、缓存等;

强大的路由功能;

灵活的中间件;

非常稳定且高性能;

视图系统支持14个以上的主流模板引擎;


express 应用场景

传统的 web 网站: Ghost ;

接口服务;

服务端渲染的中间层:对前端来说较好用;

开发工具: Json Server 、webpack-dev-server


Express 起步

使用 express 创建 web 服务,输出 hello world 响应内容;

专门为 express 创建一个目录(就叫 express),并初始化:

> npm init -y


安装

> npm install express

安装完后查看版本:

> npm list express

Express 简介、安装、使用和案例_Express


app.js

创建入口模块: app.js

const express = require('express')
const app = express()
app.get('/',(req,res)=>{
res.send('Hello World!')
})
app.listen(3000,()=>{
console.log(`Server is running ...`);
})

提示1:引入模块 express,创建实例,创建路由,设置响应,创建监听; 

启用服务:

> node app.js

或者使用全局 nodemon ,可以帮助我们自动重启服务;

​Nodemon 简介、安装、使用和配置​

> nodemon app.js

预览效果:

浏览器打开 localhost:3000/ 或 127.0.0.1:3000/ 

Express 简介、安装、使用和案例_Express_02


Express 路由

路由是指确定应用程序如何响应客户端对特定端点的请求,该特定端点是 URI(或路径)和特定的 HTTP 请求方法(GET,POST等)。

每个路由可以具有一个或多个处理程序函数,这些函数在匹配该路由时执行。


路由的定义

定义路由的语法:

app.METHOD(PATH,HANDLER)

app 是 Express 实例;

METHOD 是小写的 http 请求方法;

PATH : 是服务器上的路径;

HANDLER:是当路由匹配时执行的功能,就是路由处理函数;


简单示例

这里只写核心变动的代码,启动服务使用 nodemon ,测试工具使用 apifox;

1)在根路径响应 Hello World! :

app.get('/',(req,res)=>{
res.send('Hello World!')
})

这个已经体会过了;

2)在根路径响应 ​POST 请求:

app.post('/',(req,res)=>{
res.send('got a post request')
})

浏览器直接访问,永远是get请求,这里使用 Apifox 或 Postman 来测试 post 请求;

Express 简介、安装、使用和案例_Express_03

提示:请求方式使用 POST ,地址是  127.0.0.1:3000/ 或 localhost:3000/ 

提示:如果使用的是 GET 请求方式,那就是示例1展示的 Hello World了;

Express 简介、安装、使用和案例_Express_04

3)响应 /user 路径的PUT​ 请求:

app.put('/user',(req,res)=>{
res.send('got a PUT request at /user')
})

Express 简介、安装、使用和案例_Express_05

提示:路由的路径变成 /user 了,地址栏中也要对应;

Express 简介、安装、使用和案例_Express_06

4)响应对 /user 路由的 DELETE​ 请求:

app.delete('/user',(req,res)=>{
res.send('got a DELETE request at /user')
})

提示:代码的写法是类似的,只需把 put 改成 delete 就行了;


Express请求和响应

Express 应用使用路由回调函数的参数: request 和 response 对象来处理请求和响应的数据。

app.get('/',function(req,res){
// ...
})

req :处理请求相关的对象;

res :处理发送响应相关的对象;

Express 不对 node.js 已有的特性进行二次抽象,只是在它之上扩展了 web 应用所需要的基本功能;

内部使用的还是 http 模块;

请求对象继承自: http.IncomingMessage

响应对象继承自: http.ServerResponse


请求对象

req 对象代表 HTTP 请求,并具有请求查询字符串参数正文HTTP标头等的属性。名字这么写,只是为了方便理解,参数名是可以自定义的;

req 对象的属性是继承自 node.js 的 ​​http.IncomingMessage​​ 的,所以它有的,req 都可以使用:

-- req.url :获取请求时的URL;




响应对象

res 对象表示 Express 应用在收到 HTTP 请求时发送的 HTTP 响应。




















标签:Express,http,请求,简介,app,express,案例,res,路由
From: https://blog.51cto.com/ahuiok/5946551

相关文章

  • 【Dubbo】快速入门案例以及配置详情
    文章目录​​1、Dubbo的前世今生​​​​2、Dubbo的快速入门​​​​2.1、Dubbo的基本架构​​​​2.2、Nacos​​​​2.3、管理后台​​​​2.4、入门案例​​​​2.5、代......
  • Python学习笔记--布尔类型和比较运算符、if判断语句以及相关案例的实现
    布尔类型和比较运算符代码:结果:主要有以下几类:注意:bool类型的真假表示开头必须大写,例如:True和False而要是想要得到布尔类型,除了直接定义,还可以通过比较运算得到布尔......
  • 3.PL/SQL简介
    1.PL/SQL简介特点:支持SQL语句命令和操作支持SQL中的数据类型,还扩展了一些自己特有的类型,如:type类型支持SQL中的内置函数和运算符PL/SQL支持事务,对写好的PL/SQL程序(过......
  • nacos简介
    学习地址:https://www.bilibili.com/video/BV18E411x7eT?p=96&vd_source=e7f24a421cc55783283e95fe226df2af官网:https://nacos.io/zh-cn/docs/what-is-nacos.htmlgithub:ht......
  • 信管专业对口工作岗位薪资 数据统计与可视化案例(爬虫+数据预处理+数据可视化)
    案例简介:本项目是一个针对数据统计与可视化课程的Presentation大作业项目1.数据采集智联招聘爬虫,截止于2022.12.15可正常使用。爬取网站(可以先自己搜一下关键词看看是......
  • 物流行业对接BMW EDI项目案例分析
    宝马集团的悠久历史始于1916年,总部位于德国慕尼黑。是德国最成功的汽车和摩托车制造商之一,也是德国规模最大的制造工业公司之一。项目背景物流行业C公司作为BMW的承运商,......
  • express的安装,使用,请求,自动更新,静态资源托管(一)
    1.打开编辑器vscode2.安装express  [email protected].创建文件index.js4.导入express  constexpress=require('express')5.创建web服务器  con......
  • devexpress report 分组统计不正常问题
    这个report分组功能要求给的数据源排序必须排正确了,比如产品苹果红色苹果绿色 橘子黄色,橘子绿色 这个水果按水果排序,则苹果一组,橘子一组,如果上......
  • 服务案例|如何抱紧客户大腿?
    2022年9月8日,一个秋高气爽阳光明媚的日子。正当我优雅的端起coffee,专注投入早A晚C的重要一环时,光头老邱按下一沓资料,一并丢下经典语录:这个客户对我们很重要!emmm......重要的......
  • Linux简介
    不同应用领域的主流操作系统桌面操作系统windowsMACOSLinux服务器操作系统unix(付费)linux(部分版本收费)windowsserver(付费,占有率低)移动设备操作系统Android......