1.1什么是Express
- 官方给出的概念:
Express
是基于Node.js
平台,快速、开放、极简的Web
开发框架,官方网址 - 相似用途:
Express
的作用和Node.js
内置的http
模块类似,是专门用来创建 Web 服务器的 -
Express
的本质:就是一个npm
上的第三方包,提供了快速创建 Web 服务器的便捷方法
1.2Express与Http内置模块的关系与区别
- 类似于浏览器中
Web API
和jQuery
的关系。后者是基于前者进一步封装出来的 -
http
内置模块用起来很复杂,开发效率低;Express
是基于内置的http
模块进一步封装出来的,能够- 极大的提高开发效率
1.3Express的功能用途
对于前端程序员来说,最常见的两种服务器,分别是:
-
Web
网站服务器:专门对外提供Web
网页资源的服务器。 -
API
接口服务器:专门对外提供API
接口的服务器。
2.1安装
在项目所处的根目录中,打开cmd终端运行如下的命令,即可将 express 安装到项目中使用
npm i express@4.17.1
2.2创建基本的Web服务器
//1.导入 express
const express = require('express')
//2.创建 web 服务器
const app = express()
//3.调用app.listen(端口号,回调函数),启动服务器
app.listen(3000, () => {
console.log('服务器已开启于:http://127.0.0.1:3000')
}
2.3监听GET和POST请求,并返回数据给客户端
// 1.导入 express
const express = require('express')
// 2. 创建 web 服务器
const app = express()
// 4. 监听客户端的 GET 和 Post 请求,并向客户端响应具体的内容
// req:请求对象;res:响应对象
app.get('/user', (req, res) => {
// 调用 express 提供的 res.send() 方法,向客户端响应一个 JSON 对象
res.send({ name: 'zs', age: 20, gender: '男' })
})
app.post('/user', (req, res) => {
// 调用 express 提供的 res.send() 方法,向客户端响应一个文本字符串
res.send('请求成功')
})
// 3. 调用 app.listen(端口号, 启动后的回调函数), 启动服务器
app.listen(3000, () => {
console.log('running……')
})
2.4托管静态资源
express提供了一个非常好用的函数,叫做
express.static()`,通过它,我们可以非常方便地创建一个静态资源服务器
const express = require('express')
const app = express()
// 在这里,调用 express.static() 方法,快速的对外提供静态资源
// 访问路径为相对路径,可以省略./
app.use(express.static('./public'))
//挂载路径前缀,前缀名自定义
app.use('/abc', express.static('static'))
app.listen(3000, () => {
console.log('running……')
})