在两个 React 应用程序之间共享组件

use*_*173 5 reactjs

我有两个我想分开的反应应用程序。但是,两个应用程序之间的许多组件非常相似。

共享组件的最佳方法是什么?

以下是我能想到的一些方法:

  1. 复制组件,因为它们可能略有不同
  2. 从项目范围之外的文件夹导入文件

谢谢

Joa*_*oao 8

如果组件“可能略有不同”,那么也许您应该复制它们。但是,如果您能找到一种方法使它们保持不变(并保持传入的道具的变化),那么我是如何做到的:

我设置了一个包含所有通用组件的单独项目。我有两种方式从服务器构建系统访问这些组件:

  1. 发布公共或私有npm模块,并package.json像任何其他 npm 模块一样添加(在此处阅读有关私有模块的更多信息)
  2. 如果私有 npm 模块太复杂,但您仍想保持项目私有,则可以将私有存储库添加到package.json. 您需要将 ssh 密钥保存在您的构建系统上,以便它可以登录到 github 或 bitbucket(或其他)来检查您的代码。

如果您选择选项 2,您可以像这样在 package.json 中包含 repos。然后在npm install运行时,它会要求您提供私有存储库的凭据(或者它可以使用 ssh 密钥)。

...
"dependencies": {
  ...
  "your-common-module": "git+ssh://git@bitbucket.org/path/to-repo.git#0.1.5"
}
Run Code Online (Sandbox Code Playgroud)