javascript - 何时在 React 本身上使用 Nextjs?
问题描述
我是React 库的新手,我知道React的核心功能,并且我用它构建了简单的 Web 应用程序,并且诅咒,我正在利用惊人的create-react-app
命令 using npx
。我之前构建的 Web 应用程序是CSR (Client Side Render) 应用程序,它们对CEO 不友好,如果你想在你的 Web 应用程序中实现 SSR,create-react-app
你应该通过阅读一些文章来努力做到这一点并了解一点Nodejs 和 Express 等等...
前几天我遇到了一个很棒的叫做Next.js的 React 框架,它是建立在 React 库之上的,它内置了SSR 技术,并有自己的文件夹结构和其他伟大框架的优点。
所以这是我的问题,在实际项目中是否有任何情况下我们不希望我们的应用程序成为 SSR,除了用户仪表板或管理面板?我们什么时候需要使用 Next.js 而不是 React 本身?
我知道在某些情况下最好不要重新发明轮子,所以如果你能与我们分享你在这个特殊情况下的知识和经验,我将不胜感激。
非常感谢。
解决方案
在实际项目中是否存在我们不希望我们的应用程序成为 SSR 的情况?
例如,当您正在构建一种不允许公共访问且 SEO 不重要的用户面板时。另一种情况是托管 Next.js 应用程序 - 您需要在服务器上安装 Node.js 环境,而 CRA 构建简单的静态文件。在项目的早期阶段,它很容易部署和维护。
当您需要 SEO 或一种用于后端任务(数据库连接、表单等)的简单 API 时,Next.js 非常棒。在高级项目中,我认为最好将后端逻辑移动到单独的 API 中。
另一方面,Next.js 需要另一种思路,有时组件在服务器端渲染,有时在客户端的浏览器中渲染,初学者可能不太清楚。
我认为最好使用 CRA,然后,当您看到真正需要时,将 Next.js 添加到您的 CRA 项目中。
推荐阅读
- c# - AutoMapper 9.0.0(非静态)给出缺少类型映射配置或不支持的映射错误
- c# - 具有 Entity Framework Core 递归问题的 Automapper
- windows - Powershell - 如何将当前会话的所有文本输出作为字符串获取?
- javascript - 如何修复nodemon“块范围声明......”错误?
- curl - 使用 curl 将多个文件上传到 slack
- arrays - 如何在Powershell中合并字符串的多维数组
- javascript - 按会话显示数据
- c# - SerialPort SerialStream 在读取循环中泄漏内存
- maven - Maven shade插件没有创建“src/main/resources”目录,而是将文件直接放在根目录下
- sql - SQL - 列不会求和