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

问题描述 投票:2回答:1

我正在与一个庞大的团队合作开发一个巨大的React项目,并且编译时间是10秒以上,所以我制作了自己的反应应用程序并在那里构建组件,并在完成后复制它们。这有效但手动复制组件非常繁琐且容易出错。

我尝试使用符号链接,原来它不编译,经过一些研究后我发现反应不允许从src文件夹外部导入。

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

这是一台管理严密的计算机,我不能使用Dropbox或Google Drive,我无法发布到npm,而且我的组件无论如何都不能发布。

最好的方法是什么?谢谢!

reactjs
1个回答
2
投票

没有一种最好的方法可以做到这一点,但这是一个常见的问题,有几种解决方案:

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

1)通过yarn workspaces创建一个“monorepo”

将React组件的开发与同一存储库中的其他“模块”分开。你可以获得与npm包类似的版本控制的所有好处,但它们都在同一个项目文件夹中。假设您正在某个分支feature/fancyComponent上创建一个新组件。不同的开发人员可以检查该分支并导入您的组件,就像它是安装在node_modules文件夹中的软件包一样... import FancyComponent from 'react-components/FancyComponent'

2)使用npm注册表代理verdaccio

而不是monorepo,使用尽可能多的repos并将组件发布到本地npm注册表。你可以进行设置,这样当你npm install somecomponent它将首先查看你的本地注册表,然后回退到npm。

© www.soinside.com 2019 - 2024. All rights reserved.