为什么我选择 NextJS 而不是 CRA 来进行新项目
我以前使用Create React App (CRA)构建新应用程序(例如app.example.com)。但是,对于落地页,我会使用NextJS来获得更好的 SEO(例如www.example.com)。现在,出于以下三个原因,在创建新应用程序时,我将完全使用 NextJS 而不是 CRA。
原因 1:单体应用
创建新应用时,主要目标是找到产品市场契合点。这意味着要减少干扰。使用 Create React App,我们可能需要构建三个不同的应用来测试我们的想法(客户端应用、落地页、API)。而使用 NextJS,我们只需构建一个应用即可测试我们的想法。
NextJS 允许我们在单体应用中构建落地页、应用程序和 API 服务器。我们可以编写与目录内数据库交互的后端路由api/
,在服务器端渲染对 SEO 至关重要的页面,并在必要时在客户端进行渲染。
我希望在启动应用时构建一个单体应用,并且不影响 SEO。NextJS 是唯一能让我做到这一点的工具,这样我就可以专注于为客户解决问题。
原因 2:性能
Google 会将性能更优的网站排名在搜索结果中。因此,有人说只有在 SEO 至关重要的情况下才使用 NextJS……但我很难想出一个理由,为什么我们不想要更好的性能和 SEO,无论应用是什么。既然没有必要,为什么要牺牲 SEO 呢?NextJS 让我们兼顾了两者;我们可以决定何时在服务器端渲染,何时在客户端渲染。
原因三:生态系统
通过使用 NextJS,我们不仅可以接触到 React 生态系统,还可以接触到 Vercel 生态系统。Vercel 为我们提供了一种轻松部署 NextJS 应用程序并充分利用无服务器优势的方法。我非常高兴看到 Vercel 在其边缘功能的基础上,为 JavaScript 工程师提供端到端的开发平台。
结论
在启动任何新应用程序时,我都会使用 NextJS,因为它允许我使用成熟的框架构建整体来验证业务想法,而不会牺牲性能。
文章来源:https://dev.to/andyrewlee/why-i-choose-nextjs-over-cra-for-new-projects-3f77