推薦使用Next.js或Fastify替代Express.js - Joel

banq發表於2020-11-14

隨著我使用Express.js的次數越多,我就越想停止使用它,並推薦類似Next.js或Fastify的替代方法。在開始Express之前,需要進行大量的調整和修改。至少這些事情必須每次要做:日誌記錄,多執行緒支援,錯誤處理。
 
但是Express是幾乎整個JS生態系統的象徵。開箱即用,什麼也沒做,您必須要意識到一個驚人的陣列外掛和中介軟體才能上手。
 
feathers.js能提供帶有選項的專案支架,許多後端的預設選項,開箱即用地支援各種資料庫和前端技術:日誌記錄與認證。
 
fastify / hapi / nest / next都很棒。Nest實際上是我最不喜歡的,但這僅僅是因為我的觀點太強烈。
 
有對使用Next進行SSO身份驗證有建議嗎?我看過的所有教程都建議將Express伺服器設定為Next應用程式中的自定義伺服器。我遇到了NextAuth,但文獻記載不多。
 
正如其他人提到的那樣,我認為Express是一個微觀框架。我使用express作為從我日常工作的產品中的Electron應用程式公開API的方式。我也喜歡快速實驗。我同意Next.js否則是一個很好的選擇!
 
我之所以使用Express是因為它具有大量的庫,而我幾乎專門將其用於服務GraphQL和SSR處理程式。沒有太多需要觸控該層。但是,我確實喜歡Fastify。Koa和其他產品與Express並沒有太大區別。
 
Express是我最不喜歡使用的框架之一。Express auth是一場噩夢。
 
我遷移到了Fastify,我從不後悔。它級別低,但使用起來極為方便。與Objection一起作為DB連線層很好地工作。
 
我想你可以試試NextJS框架。它在後臺使用Express。我在生產中的所有專案中都使用了它。它幾乎具有編寫生產級程式碼可能需要的所有內容。您也可以檢查文件...它包含了所有內容。
 
我在Koa船上待了一段時間,直到嘗試過NestJS!儘管我仍然在很小的專案中使用Koa,NextJS非常優雅,細粒度控制!
 
效能方面:Express.js將在單個執行緒上響應請求。如果要響應更高的請求,則需要啟用多執行緒支援。
 
Koa.js更好,它是由Express的相同建立者開發的,程式碼減少了10倍,雖然koa看起來不錯,但似乎幾乎沒有人在使用它。
 
確定next.js是express.js的直接替代品嗎?İ以為next.js是BFF,介於bf和fe之間的中間軟體。
 
從我的python時代開始,express與flask相似,兩者都是帶有大量庫的微型框架,可以幫助您在沒有任何強制性意見的情況下構建東西,但是在很大程度上,自由可能會帶來大量複雜性,除非加以控制。
 



 

相關文章