在两个反应应用之间共享组件

时间:2017-11-11 16:28:07

标签: reactjs

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

  1. 发布公共或私有npm模块,并像任何其他npm模块一样添加到package.json(了解有关私有模块的更多信息here
  2. 如果私有npm模块过于复杂但您仍希望将项目保密,则可以向package.json添加私人仓库。您需要在构建系统上保存ssh密钥,以便它可以登录到github或bitbucket(或其他任何东西)来检查您的代码。
  3. 如果你选择2,你可以在你的package.json中包含repos。然后,当npm install运行时,它将要求您的私人仓库凭证(或者它可以使用ssh密钥)。

    ...
    "dependencies": {
      ...
      "your-common-module": "git+ssh://git@bitbucket.org/path/to-repo.git#0.1.5"
    }
    

答案 1 :(得分:0)

除非您的组件是A.私人或B.已经由其他人制作,为什么不将它们贡献给npm存储库以供其他人使用?

您可以通过

执行此操作
  1. 创建用户
  2. 发布包
  3. 更新包
  4. 您可以查看特定文档@ https://docs.npmjs.com/getting-started/publishing-npm-packages