Node | Express简单使用

Node | Express简单使用

一月 26, 2022
该文章更新于 2022.01.26

一、什么是Express

基于 Node.js 平台,快速、开放、极简的 Web 开发框架

Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。

本质:就是一个npm 上的第三方包,提供了快速创建Web 服务器的便捷方法。

通俗的理解:Express的作用和Node.js内置的 http模块类似,是专门用来创建Web服务器的。

二、安装

1
npm i express@4.17.1

三、使用

1
2
3
4
5
6
7
8
// 1、导入Express模块
const express = require('express')
// 2、创建web服务器
const server = express()
// 3、启动web服务器
server.listen(80, () => {
console.log('express server running at http://127.0.0.1');
})

四、监听get、post请求,并响应数据

1
2
3
4
5
6
7
8
9
server.get('/user', (req, res) => {
res.send({
name: '张三',
age: 18
})
})
server.post('/user', (req, res) => {
res.send("这是post请求")
})

get:

image-20220126232202308

post:

image-20220126232300398

五、通过req.query获取URL中携带的查询参数

req.query默认是一个空对象

1
2
3
4
server.get('/getUserById',(req,res)=>{
console.log('id==',req.query.id)
res.send(req.query)
})

image-20220126233254188

image-20220126233310585

六、通过req.params获取URL中的动态参数

req.params默认是一个空对象

1
2
3
4
5
server.get('/user/:id/:gender', (req, res) => {
console.log('id===', req.params.id);
console.log('gender===', req.params.gender);
res.send(req.params)
})

image-20220126233934698

image-20220126233955600

七、通过express.static()托管静态资源

express提供了一个非常好用的函数,叫做express.static(),通过它,我们可以非常方便地创建一个静态资源服务器,例如,通过如下代码就可以将static目录下的图片、CSS文件、JavaScript 文件对外开放访问了:

1
2
3
4
server.use(express.static('./static'))

/*如果访问不到,那么大概率是路径问题,推荐导入path模块后用join拼接路径*/
server.use(express.static(path.join(__dirname,'./static')))

文件结构:

image-20220126235349012

注意:Express在指定的静态目录中查找文件,并对外提供资源的访问路径。因此,存放静态文件的目录名不会出现在URL中,访问路径如下:

  1. 访问img001.jpg

    路径:http://127.0.0.1/img/img001.jpg

    结果:image-20220127000501639

  2. 访问index.html

    路径:http://127.0.0.1/index.html

    结果:

    image-20220127000542726

如果要托管多个静态资源,多次调用express.static()就好,资源访问顺序以添加顺序为准

如果想要访问前缀,可以按一下代码实现:

给use函数参入前缀参数

1
server.use('/static',express.static(path.join(__dirname,'./static')))

访问路径变成:http://127.0.0.1/static/index.html