【发布时间】:2019-03-29 02:02:33
【问题描述】:
我使用 React + redux + EJS(带有服务器端渲染)开发了一个应用程序,它在生产中运行良好。我已经使用 webpack 配置配置了 SSR + redux 和所有代码拆分的东西。我还实现了自定义缓存中间件来缓存 SSR 呈现的 html 字符串(根据需要)。
现在,有人告诉我要重构代码以适应 next.js 框架,我想知道这样做的真正需要。如果我已经想出了不用 next.js 框架来做 SSR 的方法,那么使用 next.js 的主要优势是什么?
我不只是征求意见,而是试图了解 next.js(如果有的话)相对于 CRA 的真正优点/缺点。
如果有人需要参考,我已在此处上传样板:https://github.com/bbest123/reactreduxssr
【问题讨论】:
-
我认为没有理由用 next.js 重写您的应用程序,因为至少有两个原因:1)您将受限于在组件中获取数据,next.js 允许您添加 @987654323 @ 仅在
Pages2) 您需要重写项目中的所有Link导入。而且我认为 next.js 的任何好处都不会超过上面的缺点。 -
您将如何处理
window和document与您的 SSR 实施?许多库使用window或document进行DOM 操作(谷歌地图、requestAnimationFrame)?如果您曾经使用过react-redux,您将如何实现服务器和客户端之间的共享存储?我会问自己,自己编写 SSR 和相关功能而不是使用像 Next,js 这样构建和维护的社区有什么优势。无论哪种方式,这可能都不是这个问题的最佳论坛,它几乎完全基于意见。如果是你的应用程序,你想要什么。 -
您能分享一下您在没有 Next 的情况下使用 SSR 的经验吗?您是否遵循某人的食谱或发明了自己的方式?我尝试了不同的解决方案,但他们都遗漏了一些东西。
-
@Vladislav Sorokin 查看以上链接
标签: node.js reactjs webpack ecmascript-6 next.js