在一个项目中编写React组件,并在同一台计算机上的另一个项目中同步它们

时间:2019-02-27 00:58:45

标签: reactjs

我正在与一个庞大的团队一起进行一个庞大的React项目,并且编译时间为10秒钟以上,所以我制作了自己的react应用并在其中构建组件,并在完成后将其复制。此方法可行,但手动复制组件非常繁琐且容易出错。

我尝试使用符号链接,结果发现它无法编译。经过一些研究,我发现react不允许从src文件夹外部导入。

我尝试在一个单独的分支上执行此操作,并绕过大部分代码库,只是做我自己的事情,但这涉及更改其他人的 代码,但切勿在推送自己的代码时推送它们,这也容易出错。

这是一台管理严格的计算机,我无法使用Dropbox或Google云端硬盘,也无法发布到npm,并且我的组件始终无法发布。

执行此操作的最佳方法是什么?谢谢!

1 个答案:

答案 0 :(得分:2)

目前尚无最佳方法,但这是一个常见问题,有多种解决方案:

注意:您无需连接到公共npm注册表即可获得类似npm的体验。

1)通过yarn workspaces

创建一个“ monorepo”

将您的React组件的开发与同一存储库中的其他“模块”分开。您可以像使用npm软件包一样获得版本控制的所有好处,但是它们都在同一个项目文件夹中。假设您要在某个分支feature/fancyComponent上创建一个新组件。另一位开发人员可以检出该分支并导入您的组件,就像它是安装在node_modules文件夹中的软件包一样。{ {1}}

2)使用npm注册表代理verdaccio

根据需要使用许多存储库,而不是monorepo,然后将组件发布到本地npm注册表。您可以进行设置,以便在import FancyComponent from 'react-components/FancyComponent'时先查看您的本地注册表,然后回退到npm。