跨多个 React 应用共享 redux 服务层
Posted
技术标签:
【中文标题】跨多个 React 应用共享 redux 服务层【英文标题】:Sharing redux service layer across multiple react apps 【发布时间】:2018-03-16 13:49:08 【问题描述】:我的团队正在构建 2 个应用程序:
-
一个成熟的 React Web 应用程序(无响应)
使用 PhoneGap 封装的移动应用程序
您可以想象,两者的 UI 完全不同。但是,服务层完全一样。换句话说,它们共享动作、动作创建者和减速器。
对于shareability
,我已将服务提取到一个单独的 npm 包中,该包具有一组单独的单元测试和一个构建系统。我只是直接从包中导入必要的操作/减速器。
这种方法存在一定的问题:
-
必须跨不同的存储库(有时还有单独的分支)工作,这使得快速工作变得非常困难
在通过 npm 使用之前,需要构建并推送到 github 以让 babel/webpack 构建更改
从 UI 工作时无法调试服务层(我猜我可以将源映射添加到分发文件中?)
但是,我想知道你们中是否有人有更好的解决方案/方法来解决这个问题。
谢谢!
【问题讨论】:
【参考方案1】:您可以使用npm link
工作,这解决了第 1 点和第 2 点,对于第 3 点您所说的解决方案,将源映射包含到分发文件中。
这里有 npm 链接文档:npm link docs
基本上,您将在 shared
存储库中执行 npm link
并在使用者内部使用 npm link <name>
,这将符号链接 node_modules 中的文件夹。
【讨论】:
以上是关于跨多个 React 应用共享 redux 服务层的主要内容,如果未能解决你的问题,请参考以下文章