Express 框架
官方给出的概念:Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。
通俗的理解:Express 的作用和 Node.js 内置的 http 模块类似,是专门用来创建 Web 服务器。但是 Express 为我们封装了很多方法,能够极大的提高我们的开发效率。
Express 的本质:就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法。
安装
npm i express
创建基本web服务器
// 导入express
const express = require('express');
// 创建express实例
const app = express();
// 监听get请求
app.get('/get', function (req, res) {
// 响应内容
res.send({
name: 'brokyz',
age: 21,
gender: '男'
});
});
// 监听post请求
app.get('/post', function (req, res) {
// 响应内容
res.send('请求成功');
});
// 启动服务器监听3000端口
app.listen(3000, () => {
console.log('express server running at <http://127.0.0.1:3000>');
});
监听客户端请求
监听get请求
app.get('url', function(req, res) {
res.send('success');
})
监听post请求
app.post('url', function(req, res) {
res.send('success');
})
- url:需要被请求的地址。
- res.send():响应的内容。
获取 url 携带的查询参数
通过 req.query 对象,可以访问到客户端通过查询字符串的形式,发送到服务器的参数。
app.get('/get', function (req, res) {
res.send(req.query);
});
请求地址 http://127.0.0.1:3000/post?name=brokyz&age=21
返回 {"name":"brokyz","age":"21"}
如果不传入查询参数,那么 req.query 是空对象
获取 url 中的动态参数
如果我们想要获取请求 url 中的某个位置的参数,可以使用 req.params 对象。
app.get('/get/:id/test', function (req, res) {
res.send(req.params);
});
请求地址 http://127.0.0.1:3000/get/123456/test/234
返回 {"id":"123456","id2":"234"}
express.static() 托管静态资源
通过 express.static() 我们可以非常方便地创建一个静态资源服务器。
例如通过以下代码,就可以将 public 目录下的图片、CSS文件、JavaScript文件对外公开访问了。
app.use(express.static('public'))
此时就可以访问:
http://127.0.0.1:3000/images/bg.jpg
http://127.0.0.1:3000/images/bg.css
http://127.0.0.1:3000/images/bg.js
http://127.0.0.1:3000/images/bg.html
注意:express在指定静态目录中查找文件,并对外提供资源访问路径。因此,存放静态文件的目录名不会出现在 URL 中。
托管多个静态资源目录: