Fastify 3.0改善了性能、日誌、模式以及對TypeScript的支持

Fastify是一個開源、低性能開銷的Node.js Web框架。Fastify v3引入了在Fastify中運行Express應用的功能、添加了對日誌序列化和模式替換的改善,並且提供了對TypeScript定義的更好的支持。

Fastify依然關注輕量級的性能。按照Fastify最新的性能指標,相對於其他的框架,Fastify每秒鐘能夠服務於更多的請求,這些其他的框架包括Koa、Restify、hapi、Express和內置的http.Server。Fastify 3.0版本比早期的2.x版本每秒鐘的處理能力翻了一倍。

Fastify v3 改善了其類型系統,以支持通用的約束和默認值,以及更高效的模式類型定義。

fastify-express包提供了Fastify中完備的Express兼容性支持,以便於從Express到Fastify的遷移。

校驗和序列化在Fastify 3得到了顯著改善。setSchemaCompilersetSchemaResolver選項替換成了setValidatorCompiler,以支持進一步的工具優化。對preParsing和其他hook的變更提升了性能和一致性,並利用了更多Fastify的內部API,如Fastify requests。類似的,Fastify日誌序列化器現在使用了Fastify Request和Reply對象,以取代原生的對象。現有的Fastify用戶應該參考Fastify 3.0遷移指南來獲取完整的更新列表。

Fastify現在包含136個官方插件,涵蓋的特性包括Next.js服務器渲染、WebSockets、Webpack等。對於3.0發佈版本來說,支持所有的插件是重要優先級的任務。正如Elastic的軟件工程師兼Fastify的貢獻者Tomas Della Vedova所述:

我對@fastifyjs v3發佈感到非常開心。你現在可能已經知道,我們有一個很大的插件生態系統。在v2版本的時候,我們當時並沒有明確的升級計劃,所以我們只是發佈了Fastify v2,然後慢慢升級所有的插件。今年,我們開始就預發佈了所有的插件,所以用戶可以通過安裝其應用中每個組件的@.next版本來測試Fastify v3。在發佈的時候,我們公開了最終版本的Fastify v3,我和 @matteocollina發佈了所有的插件,所以新老用戶在升級的時候不會遇到任何障礙或難以預料的缺陷。明年會繼續改善:所有的這些步驟都將會自動化。

Fastify是一個開源的軟件,可以基於MIT許可證協議獲取,它是OpenJS的一部分。歡迎爲Fastify做出貢獻,需遵循貢獻指南代碼準則

原文鏈接:

Fastify 3.0 Improves Performance, Logging, Schema, and TypeScript Support

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章