目前版本
express: v4.18.2,此时 Express v5 的 beta 版本你其实已经出来了,可以体验 v5 文档
生产环境依赖
| 包名 | 版本 | 说明 |
|---|---|---|
| accepts | "~1.3.8" | 基于协商器的更高级别的内容协商。 |
| array-flatten | "1.1.1" | 平展嵌套数组。 |
| body-parser | "1.20.2" | Node.js body 解析中间件。 |
| content-disposition | "0.5.4" | 创建和解析 HTTP 内容处置标头 |
| cookie | "0.5.0" | HTTP 服务器 cookie 解析和串行化 |
| cookie-signature | "1.0.6" | 对 cookie 进行签名和取消签名。 |
| debug | "2.6.9" | 一个以 Node.js 核心的调试技术为模型的小型 JavaScript 调试实用进程。适用于 Node.js 和 Web 浏览器 |
| depd | "2.0.0" | 弃用所有内容 |
| encodeurl | "~1.0.2" | 将 URL 编码为百分比编码形式,不包括已编码的串行 |
| escape-html | "~1.0.3" | 用于 HTML 的转义字符串 |
| etag | "~1.8.1" | 创建简单的 HTTP ETag |
| finalhandler | "1.2.0" | Node.js 最终的 http 响应进程 |
| fresh | "0.5.2" | HTTP 请求新鲜度测试 |
| http-errors | "2.0.0" | 创建 HTTP 错误 |
| merge-descriptors | "1.0.1" | 使用描述符合并对象 |
| methods | "~1.1.2" | 节点支持的 HTTP 谓词 |
| on-finished | "2.4.1" | 在请求关闭、完成或出错时执行回调 |
| parseurl | "~1.3.3" | 使用记忆解析网址 |
| path-to-regexp | "0.1.7" | 将路径字符串(如“/user/:name”)转换为正则表达式 |
| proxy-addr | "~2.0.7" | 确定代理请求的地址 |
| qs | "6.11.0" | 具有嵌套支持的查询字符串分析器 |
| range-parser | "~1.2.1" | 范围标头字段解析器 |
| safe-buffer | "5.2.1" | 更安全的节点.js 缓冲区 API |
| send | "0.18.0" | 具有范围和条件 GET 支持的流式静态文档服务器 |
| serve-static | "1.15.0" | 静态地址 |
| setprototypeof | "1.2.0" | 为 Object.setPrototypeOf 做的垫片 |
| statuses | "2.0.1" | HTTP 状态实用进程 |
| type-is | "~1.6.18" | 推断请求的内容类型。 |
| utils-merge | "1.0.1" | merge 的功能函数 |
| vary | "~1.1.2" | 操作 HTTP Vary 标头 |
开发环境
| 包名 | 版本 | 说明 |
|---|---|---|
| after | "0.8.2" | 您需要的所有流量控制 |
| connect-redis | "3.4.2" | 链接 Redis 的会话存储 |
| cookie-parser | "1.4.6" | 分析 HTTP 请求 cookie |
| cookie-session | "2.0.0" | 基于 cookie 的简单会话中间件 |
| ejs | "3.1.8" | 嵌入式 JavaScript 模板 |
| eslint | "8.34.0" | ESLint 静态分析代码,以快速发现问题。它内置于大多数文本编辑器中,您可以将 ESLint 作为持续集成管道的一部分来运行。 |
| express-session | "1.17.2" | Express 的简单会话中间件 |
| hbs | "4.2.0" | Handlebars 的快速视图引擎包装 |
| marked | "0.7.0" | markdown 解析器和编译器。专为速度打造。 |
| method-override | "3.0.0" | 重写 HTTP 谓词。 |
| mocha | "10.2.0" | Mocha 是一个功能丰富的 JavaScript 测试框架,在 Node.js 和浏览器中运行,使异步测试变得简单有趣。 |
| morgan | "1.10.0" | node.js 的 HTTP 请求记录器中间件 |
| multiparty | "4.2.3" | node.js 模块,用于解析支持 streams2 的多部分表单数据请求 |
| nyc | "15.1.0" | 使 JavaScript 测试覆盖率变得简单 |
| pbkdf2-password | "1.2.1" | 轻松创建 Node.js 的盐/密码,提取自 Mosca |
| supertest | "6.3.0" | 通过超级代理使 HTTP 断言变得容易 |
| vhost | "~3.0.2" | 虚拟域名托管 |
小结
- 在开生产环境,底层 http 模块的针对框架不同角度内容进行封装,包括路由、路径和路径解析相关、程序、状态码相关、方法相关、JS 原型链相关、cookie、请求体和接受的请求方法 etag 和 fresh 相关。
- 在开发环境,针对写测试用例,针对写对外的 demo 时候包。如模板引擎 ejs 和 hbs 两个、测试相关的 mocha、日志相关 morgan、测试覆盖率 nyc、以及 cookie 相关、redis 数据库、cookie 的解析等。