Node.js next.js与create react app+;redux+;固态继电器

Node.js next.js与create react app+;redux+;固态继电器,node.js,reactjs,webpack,ecmascript-6,next.js,Node.js,Reactjs,Webpack,Ecmascript 6,Next.js,我使用React+redux+EJS(带有服务器端渲染)开发了一个应用程序,它在生产中运行良好。我已经使用webpack配置配置了SSR+redux和所有代码拆分工具。我还实现了自定义缓存中间件来缓存SSR呈现的html字符串(根据需要) 现在,我被告知要重构代码以适应next.js框架,我想知道这样做的真正必要性。如果我已经找到了一种不用next.js框架进行SSR的方法,那么使用next.js的主要优势是什么 我不是在征求意见,而是在试图了解next.js(如果有的话)对CRA的真正利弊 如

我使用React+redux+EJS(带有服务器端渲染)开发了一个应用程序,它在生产中运行良好。我已经使用webpack配置配置了SSR+redux和所有代码拆分工具。我还实现了自定义缓存中间件来缓存SSR呈现的html字符串(根据需要)

现在,我被告知要重构代码以适应next.js框架,我想知道这样做的真正必要性。如果我已经找到了一种不用next.js框架进行SSR的方法,那么使用next.js的主要优势是什么

我不是在征求意见,而是在试图了解next.js(如果有的话)对CRA的真正利弊

如果有人需要参考资料,我已经将锅炉铭牌上传到这里:

tl;博士 我能想到的唯一的缺点是它固执己见。它将要求您以某种方式构建事物,IMO仍然具有相当的可扩展性

使用Next的优点
  • (加上具有
    链接
    和预取功能的客户端路由)
  • (使检查捆绑包大小变得简单)
  • 使用更简单的API(而不是自己实现)
  • (前提是您不需要动态地为服务器呈现页面)
  • 扩展babel和webpack配置更简单(与未弹出的CRA应用程序相比)
所有这些都说明,如果您已经在没有
Next.js
的情况下构建了解决方案,并且它对您的用例运行良好,那么IMO就没有必要迁移到Next,除非您对提取SSR的一些配置和工作感兴趣(这将由
Next.js
负责)

相关链接
  • 与Next讨论比较(有点过时)
  • 根据CRA文件的建议

Nextjs的最佳功能之一是包含70多个实现示例的庞大列表,这些示例几乎代表了CSS框架、store(flux/redux/mobx/graphQL)框架、节点服务器等的所有组合

不使用Next.js就可以构建react SSR解决方案,但是服务器端逻辑的干净
钩子(
getInitialProps
pages/app.js
,等等…)使Next.js成为首选。js通过允许您编写干净、可维护且性能良好的SSR web应用程序而在这里大放异彩


最后,开发团队和社区令人惊叹

我认为没有理由用next.js重写你的应用程序,因为至少有两个原因:1)你只能在组件中获取数据,next.js允许你只在
页面中添加
getInitialProps
;2)你需要重写项目中的所有
链接
导入。我看不出next.js的任何好处会超过上面的缺点。您将如何使用SSR实现
window
document
?许多库使用
窗口
文档
进行DOM操作(谷歌地图、requestAnimationFrame)?如果您曾经使用过
react redux
,您将如何实现服务器和客户端之间的存储共享?我想问问自己,自己编写SSR和相关功能,而不是使用像Next、js这样构建和维护的社区,有什么好处。无论如何,这可能不是解决这个问题的最佳论坛,它几乎完全是基于观点的。如果是您的应用程序,您需要什么。请您在没有下一步的情况下与SSR分享您的经验?你是按照别人的食谱做的还是自己发明的?我尝试了不同的解决方案,但他们都错过了一些东西。请查看此项目:@Vladislav Sorokin查看上述链接