手记

【九月打卡】第4天 Node.js工程师学习笔记

课程章节: Node 框架篇 - Express 框架重构项目逻辑

课程讲师: 北瑶

课程内容:

Express 是什么?

Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。提供一系列强大特性帮助你创建各种Web应用。
Express 本身是极简的,它仅仅提供了 web 开发的基础功能,不对 Node.js 已有的特性进行二次抽象,只是在它之上扩展了 web 应用所需的基本功能。

Express 特性
  • 简单易学
  • 丰富的基础 API 支持,以及常见的 HTTP 辅助程序,例如重定向、缓存等
  • 强大的路由功能
  • 灵活的中间件
  • 高性能
  • 非常稳定(它的源代码几乎百分百的测试覆盖率)
Express 应用场景
  • 传统的 Web 网站
  • 接口服务
  • 服务端渲染中间层
  • 开发工具
Express 项目构建
  • 创建文件夹, 使用npm init -y 生成 node 项目元数据文件
  • 使用npm install express 下载安装 express 框架
  • 使用生成器, 直接使用 npx express-generator 进行项目模板代码的下载安装
// 导入 express
const express = require('express')
const app = express()
const port = 3000
// 监听get请求
app.get('/', (req, res) => {
// send方法可自动识别要响应的字符集
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Run http://localhost:${port}`)
})

我们可以借助核心模块 util 中的 promisify 方法将 fs 模块进行转为 promise 方式

const {promisify} = require('util')
const readFile = promisify(fs.readFile)
const writeFile = promisify(fs.writeFile)
处理客户端 post 请求数据
// 常见的请求头中的数据类型
{
  'content-type': 'application/json', // 纯 json 格式字符串
  'content-type': 'application/x-www-form-urlencoded', // HTML 表单
  'content-type': 'multipart/form-data; boundary=------699459260', // html 表单文件上传
}

express 中,获取不同的客户端请求类型

// 配置解析表单请求体:application/json
app.use(express.json())
// 解析表单请求体:application/x-www-form-urlencoded
app.use(express.urlencoded())
// 上面两行代码表示, 我们可以接收 json 与 unlencoded 类型的数据

给客户端抛出错误

res.status(错误码).json({
	error: '错误信息'
})
修改用户信息 put 请求
app.put('/:id', (req, res) => {})

学习心得

通过这章的学习, 体验了 express框架 对 原生node.js 的封装, 让原生的操作更简单

课程截图

0人推荐
随时随地看视频
慕课网APP