您的当前位置:首页正文

Node.js之Express

2024-11-30 来源:个人技术集锦

Express


一、 Express 简介

1. 什么是 Express

        官方给出的概念:Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。
        通俗的理解:Express 的作用和 Node.js 内置的 http 模块类似,是专门用来创建 Web 服务器的。
        Express 的本质:就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法。
        Express 的中文官网: http://www.expressjs.com.cn/

2. 进一步理解 Express

        思考: 不使用 Express 能否创建 Web 服务器?
        答案: 能,使用 Node.js 提供的原生 http 模块即可。
        思考: 既生瑜何生亮(有了 http 内置模块,为什么还有用 Express)?
        答案: http 内置模块用起来很复杂,开发效率低;Express 是基于内置的 http 模块进一步封装出来的,能够极大的提高开发效率。
        思考: http 内置模块与 Express 是什么关系?
        答案: 类似于浏览器中 Web API 和 jQuery 的关系。后者是基于前者进一步封装出来的。

3. Express 能做什么

对于前端程序员来说,最常见的 两种服 务器,分别是:
Web 网站服务器 :专门对外提供 Web 网页资源的服务器。
API 接口服务器 :专门对外提供 API 接口的服务器。
使用 Express,我们可以方便、快速的创建 Web 网站的 服务器 或 API 接口 的服务器。

二、使用方法

1. 安装

在项目所处的目录中,运行如下的终端命令,即可将 express 安装到项目中使用:
npm i express@4.17.1 

2. 创建基本的 Web 服务器

// 导入express模块
const express = require('express')
// 创建web服务器
const app = express()
// 启动
app.listen(80, () => {
  console.log('express server running at http://127.0.0.1');
})

3. 结果

表示运行成功! 

三、监听

1. 监听客户端Get和Post请求,并向客户端响应具体内容

// 监听客户端Get和Post请求,并向客户端响应具体内容
app.get('/user', (req, res) => {
  // 调用res.send()方法,向客户端响应一个json对象
  res.send({ name: 'hh', age: 18, gender: '男' })
})
app.post('/user', (req, res) => {
  // 调用res.send()方法,向客户端响应一个文本
  res.send('请求成功!')
})

2.重启终端

3.打开postman软件

具体安装步骤参考:

我们输入get请求会得到这样的结果:

我们输入post请求会得到这样的结果:

表示监听成功! 

四、获取 URL 中携带的查询参数

增加一个事件监听:
app.get('/', (req, res) => {
  // 通过req.query可以获取到客户端发来的查询参数
  // 默认情况下,req.query是个空对象
  console.log(req.query);
  res.send(req.query)
})

结果:

 

结果:

 

 四、获取 URL 中携带的动态参数

代码:

app.get('/user/:id', (req, res) => {
  // 通过req.params可以获取到客户端发来的动态参数
  // 默认情况下,req.params是个空对象
  console.log(req.params);
  res.send(req.params)
})

结果:

 

注意: :后面的参数名称只要合法就可以是任意取的而且可以拥有多个动态参数 

 五、托管静态资源

1. express.static()

        express 提供了一个非常好用的函数,叫 做 express.static(),通过它,我们可以非常方便地创建一个静态资源服务器
比如:
        我们之前做过的一个时钟案例来举例
        可以参考:
        我们新建一个文件:02.使用express.static对外提供静态资源.js,输入代码:
const express = require('express')
const app = express()
//使用express.static对外提供静态资源
app.use(express.static('./clock'))
app.listen(80, () => {
  console.log('express server running at http://127.0.0.1');
})

终端运行结果:

 

 

六、nodemon

1、安装nodemon

2、使用 nodemon 

        当基于 Node.js 编写了一个网站应用的时候,传统的方式,是运行 node app.js 命令,来启动项目。这样做的坏处是:代码被修改之后,需要手动重启项目。
        现在,我们可以将 node 命令替换为 nodemon 命令,使用 nodemon app.js 来启动项目。这样做的好处是:代码 被修改之后,会被 nodemon 监听到,从而实现自动重启项目的效果

 

显示全文