目录
一、初识Express
1.什么是Express
官方给出的概念:Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。
通俗的理解:Express 的作用和 Node.js 内置的 http 模块类似,是专门用来创建 Web 服务器的。
Express 的本质:就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法。
Express的中文官网:http://www.expressjs.com.cn/
(1).进一步理解Express
Q:不使用Express能否创建Web服务器?
A:能,使用Node.js提供的原生http模块即可
Q:有了http内置模块,为什么还用Express?
A:http内置模块用起来很复杂,开发效率低;Express是基于内置的http模块进一步封装出来的,能够极大的提高开发效率。
Q:http内置模块与Express是什么关系?
A:类似于浏览器中Web API和jQuery的关系。后者是基于前者进一步封装出来的。
(2).Express能做什么
对于前端程序员来说,最常见的两种服务器分别是:
- Web网站服务器:专门对外提供Web网页资源的服务器
- API接口服务器:专门对外提供API接口的服务器
使用Express,我们可以方便、快速的创建Web网站的服务器或API接口的服务器。
2.Express的基本使用
(1).安装
在项目所处的目录中,运行如下的终端命令,即可将Express安装到项目中使用:
npm i express@4.17.1
(2).创建基本的Web服务器
//1.导入Express
const express = require('express')
//2.创建Web服务器
const app = express()
//3.启动Web服务器
app.listen(80,()=>{
console.log('express server running at http://127.0.0.1:80');
})
(3).监听GET请求
通过app.get()方法,可以监听客户端的GET请求,具体的语法格式如下:
//参数一:客户端请求的URL地址
//参数二:请求对应的处理函数
// req:请求对象(包含了与请求相关的属性与方法)
// res:响应对象(包含了与响应相关的属性与方法)
app.get('请求URL',function(req,res){/*处理函数*/})
(4).监听post请求
通过app.post()方法,可以监听客户端的POST 请求,具体的语法格式如下:
//参数一:客户端请求的URL地址
//参数二:请求对应的处理函数
// req:请求对象(包含了与请求相关的属性与方法)
// res:响应对象(包含了与响应相关的属性与方法)
app.post('请求URL',function(req,res){/*处理函数*/})
(5).把内容响应给客户端
通过 res.send() 方法,可以把处理好的内容,发送给客户端:
app.get('/user',(req,res)=>{
//向客户端发送JSON对象
res.send({name:'Tom',age:20,gender:'男'})
})
app.post('./user',(req,res)=>{
//向客户端发送文本内容
res.send('请求成功')
})
(6).获取URL中携带的查询参数
通过 req.query 对象,可以访问到客户端通过查询字符串的形式,发送到服务器的参