Express 是基于 Node.js 平台的极简 Web 应用框架,Express的本质就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法。
与传统HTTP模块对比
| 特性 | 原生HTTP模块 | Express |
|---|---|---|
| 路由管理 | 手动解析URL | 声明式路由系统 |
| 请求处理 | 单一回调函数 | 中间件链式处理 |
| 头部处理 | 手动设置 | 便捷方法 |
| 扩展性 | 需要自行封装 | 中间件生态系统 |
| 开发效率 | 较低 | 高效 |
常用中间件
| 中间件名称 | 功能描述 | 安装命令 |
|---|---|---|
| morgan | HTTP请求日志记录 | npm install morgan |
| helmet | 安全头部设置 | npm install helmet |
| cors | 跨域资源共享支持 | npm install cors |
| express-session | 会话管理 | npm install express-session |
| passport | 身份认证 | npm install passport |
性能优化:
| 优化方向 | 实现方案 | 示例配置/代码 |
|---|---|---|
| 中间件优化 | 精简中间件数量 | 移除不必要的中间件 |
| 路由缓存 | 使用路由缓存中间件 | app.enable('view cache') |
| 集群模式 | 使用cluster模块 | cluster.fork() |
| 静态资源 | 使用CDN加速 | express.static配置缓存头 |
| 数据库连接 | 使用连接池 | mysql.createPool() |