👇 今日要闻
打破信息壁垒,走近全球前端。Hello World 大家好,我是林语冰。
Express 是一个老牌的 Node 服务端框架,拥有极简的 API、灵活的中间件架构和经典的洋葱模型。
虽然 TS 优先的 Nest 框架勇夺第一,但新手友好的 Express 也始终名列前茅,稳居 Node 流行框架的五常之一。
Express 团队前年重启了开源新规划,去年又发布了第 5 个主版本,着手重新设计官网。
经历了一年的爆改,Express 团队终于官宣,Express 新官网重做完成,改进了文档体验,引入了全新 logo,支持两个主版本 API 的无缝切换。
👉 Express 官网重做
我不太确定之前 Express 官网是否也支持深浅主题,但新官网的设计除了保留原本的黑白灰基调,也新增了一些现代视觉元素。
这是 Express 官方博客分享的一张新旧网站对比图:
Express 重做官网不只为了视觉更新,也是一次重新思考文档组织和维护等基础架构的机会,新官网有几处改良。
首先,版本控制改进。新文档支持并排显式多个 Express 版本,默认展示的是 Express 5 的 API,如果你还在维护 Express 4,也支持一键切换对应版本的文档。
其次,AI 驱动搜索,搜索功能基于 Orama 构建,可以使用自然语言聊天提问,而不是单纯的匹配关键词,更快找到对应的 API 或概念,改善用户体验。
还有,支持 llms.txt,新文档可以通过 llms.txt 端点访问,遵循 llms.txt 规范,所以 LLM(大语言模型)和其他 AI 工具更容易一起使用。
最后,Express 团队还联手社区重新设计了全新的 favicon 徽标和 logo 品牌标志:
👉 技术栈揭秘
除了设计,我们还可以借鉴 Express 团队建站的技术栈选择。
Express 团队指出,官网底层框架从 Jekyll 迁移到 Astro 框架,这是社区讨论后,权衡各种利弊和可维护性选择的技术方案。
Astro 在静态内容构建方面确实别出心裁,SSG 本身确保性能的同时也利于 SEO,内置可靠的 i18n 国际化多语言支持,Markdown 即文档,而且 Island 架构还支持多元的 UI 框架,有点微前端的感觉。
换而言之,Express 团队可以按需选择 React 库或 Vue 等框架去构建交互式的客户端组件,有利于不同社群的开源贡献。
如果你想开发个人博客,Astro 也是一个不错的技术方案。
👉 Express 4.x vs 5.x
Express 团队提到,虽然 Express 5 是最新的稳定版本,但许多项目仍在使用 Express 4。这也是 Express 5 发布后,官方文档还采用“双线程“并行维护 v4.x 和 v5.x 两种 API 的原因。
Express v4 和 v5 的架构相差无几,API 风格和用法大同小异。个人推荐新项目优先使用 Express 5,因为 API 更优雅和语义化,我们不妨来快速对比几个常用 API。
首先是命名更加规范和直观,举个栗子:
可以看到,Express 5 的 res.sendStatus() 和 app.delete() 等 API 更加语义化,且严格遵循驼峰命名法。
Express 5 废弃 app.del() 幕后还有一个冷知识,这和 JS 的历史包袱有关。Express 诞生在 ES6 上线之前,当时 delete 还是 JS 的保留关键字,禁止作为属性名。如今 ES6 迭代已经超过 10 年了,所以 app.delete() 的重构是合法的。
随着 JS 的进化,Express 的错误处理也得以简化,请求中间件和处理程序会将 Promise 的失败原因作为 Error 转发给错误处理中间件,async 函数作为中间件和处理程序更易用,比如:
当 async 函数中出错或 await 失败的 Promise 时,这些错误会像以前调用 next(err) 一样传递给错误处理程序。好处在于,现在你能直接使用 async / await,而无需手动捕获错误。如果 getUserById() 出错,next() 将接受拒绝原因并自动调用。
此外,API 的设计也更加合理:
还有,Express 5 还支持链式调用风格的 API:
链式调用的好处是 API 一目了然,上面的 201 一看就知道是状态码相关的数字,而多参调用有时参数增加,201 很容易变成语义不明的“魔术数字“。
尤其是新手在初学 Express 开发服务端时,一般不会采用 TypeScript,如果没有静态类型系统的函数签名或 IDE 的类型提示,代码就更难理解。
总之,Express 新官网同时维护着 v4.x 和 v5.x 两个版本的 API,更多技术细节可以按需点击不同版本切换文档。
👇 重点总结
Express 团队官宣,Express 新网站重做完成,采用 Astro 框架构建更现代的文档,主要亮点:
- 文档更易维护,同时支持一键切换
v4.x和v5.x的 API 文档 - logo 重新设计,体现新手友好的 Express 极简主义风格
- AI 搜索集成,更好地支持和 AI 工具联动使用
- 新项目推荐 Express 5,架构无缝切换,API 大同小异但更现代化
以上就是今日《前端快讯》的全部内容了,希望对你有所帮助。
👍 感谢大家按赞跟转发分享本文,你的手动支持是我坚持创作的不竭动力喔。
🙏 已经关注我的粉丝们,我们下期再见啦,掰掰~~
👇 参考文献:
- 🔗 Express 新官网:expressjs.com
- 🔗 Express 官方博客:expressjs.com/en/blog/202…
- 🔗 Express 5 升级攻略:expressjs.com/en/guide/mi…