【发布时间】:2018-05-08 12:44:11
【问题描述】:
所以问题是是否可以将一个 React 应用程序拆分为两个不同的独立应用程序,托管在两个不同的主机上,其中应用程序 A 是一种框架,将来控制应用程序 B 和 C。我有一个问题,我想为两个应用程序(A 应用程序)建立一个共同的基础,然后加载另外两个作为它的内容。就好像我用从不同地方获取的包进行了延迟加载。我在考虑三种主要可能性:
- 内嵌框架
- 来自 github 的单个 SPA 项目
- 使用 ReactDOM.render 方法
我不确定这是否可能,因为 React Router 仍然可能存在问题 - 内部应用程序是否有权操作浏览器路由?
【问题讨论】:
-
你的意思是像一个提供容器组件的反应库?困难在哪里?
-
我可以将应用程序 B 和 C 拆分为库,然后我可以通过 package.json 和 webpack 加载它们,但我想做的是我有一个大应用程序拆分成包 A , B 和 C,其中捆绑 B 和 C 是从不同的来源加载的(使用休息?)。如何将构建的 React 应用程序包含到容器 React 应用程序中?
-
嘿,哥们,这个问题你解决了吗?
-
一点也不。我尝试了 iframe,但它消除了很多可能性。我也想试试Single SPA,但是现在时间不够。 :/我能够通过插入一个带有root2 id的div并添加一个脚本部分来在一个react应用程序中托管一个react应用程序,但是当它里面有路由器和redux的东西时它就崩溃了(也许我应该删除初始化)。仍然 - 一个需要解决的复杂问题。
-
我目前正在尝试使用 ReactDom.render 嵌套这个反应应用程序,它似乎正在工作。它还没有使用路由器。我预计的另一个问题是父反应应用程序具有不同版本的依赖项,即不同版本的反应等,因为它们被加载到同一个窗口中,并且可以预见地破坏父反应应用程序或子反应应用程序。任何人都可以建议一种管理依赖项的方法吗?我正在考虑将共享依赖项作为对等依赖项放在子项中,因此从父应用程序继承。依赖关系仍然可能不同步......
标签: reactjs react-router lazy-loading single-page-application