【express】初识express

左丘积厚
2023-12-01

一、介绍

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

Express 的作用和 Node.js内置的 http 模块类似,是专门用来创建Web服务器的。本质上就是一个 npm 上的第三方包,提供了快速创建Web服务器的便捷方法。

使用Express可以方便、快捷的创建Web网站的服务器或API接口的服务器。

中文官网:https://www.expressjs.com.cn/

二、基本使用

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,function() {
  console.log('express server running at http://127.0.0.1');
})
3、监听客户端的 GET 和 POST 请求并相应
app.get('/user',(req,res) => {
  // 响应一个JSON对象
  res.send({name:'zs',gender:'男'})
})

app.post('/user',(req,res) => {
  // 响应一个文本字符串
  res.send('请求成功')
})
4、获取URL中携带的查询参数

通过 req.query对象,可以访问到客户端通过查询字符串的形式发送到服务器的参数

app.get('/',(req,res) => {
  // req.query 默认是一个空对象
  console.log(req.query)
  res.send(req.query)
})

如访问http://127.0.0.1?name=zs&age=18,则req.query获取的值为{name:'zs',age:'18'}

5、获取URL中的动态参数

通过req.params对象,可以访问到URL中通过:匹配到的动态参数

app.get('/user/:id',(req,res) => {
  // req.params默认是一个空对象
  console.log(req.params);
  res.send(req.params)
})

如访问http://127.0.0.1/user/001,则req.params获取的值为{id: '001'}

6、托管静态资源

通过 express.static()可以非常方便地创建一个静态资源服务器

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

app.use(express.static('./public'))

public 文件夹中有 index.htmlindex.jsindex.css文件
现在就可以访问 public 目录中的所有文件了:

http://127.0.0.1/index.html
http://127.0.0.1/index.js
http://127.0.0.1/index.css

如果要托管多个静态资源目录,多次调用 express.static()即可

访问静态资源文件时,express.static() 函数会根据目录的添加顺序查找所需的文件。

app.use(express.static('./public'))
app.use(express.static('./files'))

filespublic文件夹中都有有 index.htmlindex.jsindex.css文件,通过http://127.0.0.1/index.html进行访问,访问到的是先托管的文件夹中的文件(如上是public文件夹中的)。

如果希望在托管的静态资源访问路径之前挂载路径前缀,则可以使用如下方式:

app.use('/public',express.static('./public'))

http://127.0.0.1/public/index.html
http://127.0.0.1/public/index.js
http://127.0.0.1/public/index.css

7、安装和使用nodemon

在编写和调试Node.js项目的时候,如果修改了项目的代码,则需要频繁的手动close然后再重新启动,非常繁琐。
nodemon工具能够监听项目文件的变动,当代码被修改后,会自动重启项目,极大方便了开发和调试。

1、安装
npm i nodemon -g
2、使用
nodemon app.js
 类似资料: