我有两个反应应用程序,我想要分开。但是,这两个应用程序之间的许多组件非常相似。
共享组件的最佳方法是什么?
以下是我能想到的一些方法:
感谢
答案 0 :(得分:2)
如果组件“可能略有不同”,那么您可能应该复制它们。但是,如果你能找到一种方法让它们保持不变(并保持传递道具的变化),我在这里是如何做到的:
我设置了一个包含所有常用组件的单独项目。我有两种方法从服务器构建系统访问这些组件:
npm
模块,并像任何其他npm模块一样添加到package.json
(了解有关私有模块的更多信息here)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"
}
答案 1 :(得分:0)
除非您的组件是A.私人或B.已经由其他人制作,为什么不将它们贡献给npm
存储库以供其他人使用?
您可以通过
执行此操作您可以查看特定文档@ https://docs.npmjs.com/getting-started/publishing-npm-packages