Express 团队官宣:全新网站正式上线,Logo 重做,支持两个主版本文档无缝切换!

👇 今日要闻

打破信息壁垒,走近全球前端。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 大同小异但更现代化

以上就是今日《前端快讯》的全部内容了,希望对你有所帮助。

👍 感谢大家按赞跟转发分享本文,你的手动支持是我坚持创作的不竭动力喔。

🙏 已经关注我的粉丝们,我们下期再见啦,掰掰~~

👇 参考文献:

相关推荐
PYB38 小时前
【Web·JS·基础】函数的使用和展运算符...objs
前端·javascript
默_笙9 小时前
🚥 给 RAG 装一台心电监护仪:LangSmith 全链路观测(上)
前端·javascript
变与不变80611 小时前
js同步和异步难点重点详解
开发语言·javascript·ecmascript
Dovis(誓平步青云)11 小时前
多个链接不等于多份证据,新闻核验看板怎样合并来源
java·服务器·前端·javascript·人工智能·pdf·电脑
LRL_11 小时前
【实战指南】Node.js 跨平台依赖下载:如何在 Windows/Linux 环境下互跨下载目标系统的 npm/pnpm 包
linux·windows·node.js
Dovis(誓平步青云)12 小时前
几个方案来回选不定?做一个随时切换的候选推荐页
android·java·服务器·开发语言·javascript·数据库·智能化
可乐鸡翅yeah_13 小时前
fmp4 碎片 MP4 格式 HLS 流,和传统 TS 分片有什么不一样
开发语言·javascript·ios·音视频·safari·m3u8·m3u8在线播放
ss27314 小时前
AI全栈实战 | 2.3-01 组件库实战:Element Plus 怎么搭出专业界面,过度封装为什么成维护负担
前端·javascript·elementui·vue
福兮说14 小时前
URL 编码的七个坑:c++ 传到后端变空格、%25 套娃、截断 emoji 直接报错
开发语言·前端·javascript·node.js·url
小的时候可菜了15 小时前
JS 异步的本质:从单线程到 thenable(一条进化链)
开发语言·前端·javascript