为 android 个应用程序创建一个 UI 个具有 react-native 的组件库

Creating a UI component library with react-native for android apps

我想将我的 UI 组件用作我的 react-native iniit 应用程序的可重复使用的单独 repo/project。 所以我像这样创建了一个单独的项目文件夹

并安装了这些依赖项

与我的其他应用程序的外部依赖关系很少。

然后我用了

yarn link

到 link 这个项目作为一个模块作为一个模块添加到我的工作应用程序中,就像一个节点模块一样。但是当我尝试 运行 我的应用程序时出现此错误?

我的方法有问题吗,或者我是否有确定的方法可以尝试实现我的目标,因为我找到了多种创建此类组件的方法和配置 libraries.but 我没有使用任何因为最终目标不同。

这是 React Native 打包程序的一个已知问题。请参阅此讨论:https://github.com/facebook/react-native/issues/637.

这可能与使用守望者有关,尽管似乎有几种不同的情况会突然出现。

TL;DR:React Native 打包程序不尊重项目的 symlinks,因此 npm 和 yarn link 无法像您期望的那样工作。显然这在 metro-bundler 中得到了解决:https://github.com/facebook/metro-bundler/issues/1.

不幸的是,解决方法不是那么好,但是在 issue 637 讨论中讨论了一些选项。看起来您可能正在为您的包裹使用 github 存储库。

您可以告诉 npm 通过项目的 package.json 从 github 获取您的库,因此您可能不需要 npm link,尽管您将无法 link 以这种方式添加到您模块的本地文件。