Skip to content

Node 系列之 Express

注意

本文状态:未完待续...
基于 node-express-boilerplate 进行开发;
技术栈包含:Express/Mongoose 等。

Express 简述

高度包容、快速而极简的 Node.js Web 框架

第一部分 构建 Web 服务器

一、node-express-boilerplate

1)RESTful API Node Server Boilerplate

一个样板/启动项目,用于使用 Node.js、Express 和 Mongoose 快速构建 RESTful API。

2)快速启动

创建项目 -- 安装依赖 -- 新建.env 文件 -- 安装 MongoDB -- 运行。

a. 创建项目

js
npx create-nodejs-express-app <project-name>

OR

js
npm init nodejs-express-app <project-name>

b. 安装依赖

js
yarn install

c. 新建.env 文件,直接 copy .env.example 即可

d. 安装 MongoDB

文章后面会详细介绍

e. 运行

js
// Running locally
yarn dev

// 试生产
yarn start

3)Features

简述 node-express-boilerplate 的特色

  • NoSQL 数据库:使用 Mongoose 的 MongoDB 对象数据建模
  • 身份验证和授权:使用 passport
  • 验证:使用 Joi 请求数据验证
  • 日志:使用 winston 和 morgan
  • 测试:使用 Jest 的单元和集成测试
  • 错误处理:集中式错误处理机制
  • API 文档:带有 swagger-jsdoc 和 swagger-ui-express
  • 过程管理:使用 PM2 的先进生产过程管理
  • 依赖关系管理:使用纱线
  • 环境变量:使用 dotenv 和 cross-env
  • 安全性:使用头盔设置安全 HTTP 标头
  • Santizing:针对 xss 和查询注入清理请求数据
  • CORS:Cross-OriginResource-Sharing 使用 CORS 启用
  • 压缩:gzip 压缩和压缩
  • CI:与 Travis CI 的持续集成
  • Docker support
  • 代码覆盖范围:使用工作服
  • 代码质量:带密码
  • Git 钩子:带有 husky 和 lint-staged
  • 衣料:带 ESLint 且更漂亮
  • 编辑器配置:使用 EditorConfig 的一致编辑器配置

4)使用文档简述

TODO

二、安装 MongoDB

TODO

三、API 接口撰写

TODO

1)Apifox 工具

TODO

2)生成 Swagger 类似接口文档

Apifox 将接口导出为 md 文档,利用其他工具将 md 文档转为 doc 文档或者 PDF 文档等。
如使用 Mdnice 即可将 Markdown 导出为 PDF 格式。

注意:Swagger 规范里是没有顺序的概念的,也没有分组的概念。

3)TODO

TODO

第二部分 框架优化

一、引入 MySQL

在 express 项目中操作数据库的步骤

  • ① 安装操作 MySQL 数据库的第三方模块(mysql)
  • ② 通过 mysql 模块连接到 MySQL 数据库
  • ③ 通过 mysql 模块执行 SQL 语句

1)项目安装 mysql 模块

yarn add mysql

2)本机安装 mysql

以 Windows 系统为例

js
// ===== 常见命令 =====
// 1. 启动mysql
net start mysql

// 2. 启动登录
mysql -u root -p   // 回车,输入默认的那个极其安全的密码。

// 3. 停止服务
net stop mysql

// 4. 修改密码
ALTER USER root@localhost IDENTIFIED BY 123456
  • MySQL 小试牛刀
  • 官网:https://www.mysql.com/cn/
  • 下载社区版:https://dev.mysql.com/downloads/mysql/
    • An image
  • xx
    • An image

3)配置 mysql 模块

在使用 mysql 模块操作 MySQL 数据库之前,必须先对 mysql 模块进行必要的配置,主要的配置步骤如下:

js
// == TODO

4)测试 mysql 模块能否正常工作

TODO -- 增删改查

二、TODO

TODO

第三部分 高级应用

一、TODO

TODO