认识
一、认识
[Express] 最流行的 Node.js Web
框架, 核心目标都是简化 HTTP
服务器开发。Express
追求快速开发,内置大量功能(路由、模板引擎、静态文件服务等),适合小型和中型应用。Express
早期主要使用回调(callback
),但后续也支持 Promise
和 async/await
, 但 Express
仍然保留了早期回调风格,可能导致 callback hell
(回调地狱), 历史包袱重。对于中间件, Express
通过 next()
控制中间件执行顺序, 内部实现通过 next()
直接执行, 所以 next
在有异步操作的时候不会处理结果,所以对有异步的操作不是特别好。
二、对比
2.1 Koa VS Express
Koa 最流行的 Node.js Web
框架, 核心目标都是简化 HTTP
服务器开发。Koa
追求极简和现代化,去掉内置功能, 完全基于 async/await
,并摒弃回调, 代码更清晰, 提供更灵活的中间件机制。对于中间件, Koa
内部实现通过 Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
执行 next
, 基于 async/await
和 Promise
链, 所以 next
可以很好的支持异步操作。
[Express] 最流行的 Node.js Web
框架, 核心目标都是简化 HTTP
服务器开发。Express
追求快速开发,内置大量功能(路由、模板引擎、静态文件服务等),适合小型和中型应用。Express
早期主要使用回调(callback
),但后续也支持 Promise
和 async/await
, 但 Express
仍然保留了早期回调风格,可能导致 callback hell
(回调地狱), 历史包袱重。对于中间件, Express
通过 next()
控制中间件执行顺序, 内部实现通过 next()
直接执行, 所以 next
在有异步操作的时候不会处理结果,所以对有异步的操作不是特别好。