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

20-11-14 banq

随着我使用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相似,两者都是带有大量库的微型框架,可以帮助您在没有任何强制性意见的情况下构建东西,但是在很大程度上,自由可能会带来大量复杂性,除非加以控制。

 

 

                   

猜你喜欢