我第一次尝试将应用程序转换为 SSR。我发现的所有教程仅提供转换简单应用程序或从头开始构建(并在客户端和服务器之间共享相同的 package.json)的说明,但我的应用程序具有用于客户端和服务器的专用 package.json 文件和 node_modules 文件夹。
- 为了让服务器构建我的根组件的初始渲染,它需要访问所有客户端依赖项,对吗?
- 如果问题 #1 的答案为真,那么重构我的代码以在根目录中共享单个 package.json 是否最有意义?
最佳答案
一些输入:
1)为了让服务器构建我的根组件的初始渲染,它确实需要访问所有客户端依赖项,并且它们应该与 SSR 兼容(例如:像 reflux 这样的库不能与 SSR AFAIK 一起使用)。
2) 如果您在服务器和客户端中都具有最少的 npm 依赖项,那么重构代码以在根目录中共享单个 package.json 确实是最有意义的。但是,当您添加更多包时,这可能会变得难以管理。您仍然可以在不同的文件夹中拥有多个 package.json 并使用工作区管理工具,例如 lerna (注意:我没有同时使用lerna和SSR,但理论上它应该可以工作)。
关于node.js - 需要建议将 React 应用程序转换为使用服务器端渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54299291/