在另一个 React-Native 库中使用 React-Native 库

Posted

技术标签:

【中文标题】在另一个 React-Native 库中使用 React-Native 库【英文标题】:Using React-Native library inside another React-Native library 【发布时间】:2019-06-10 16:28:02 【问题描述】:

我创建了一个 React-Native 应用程序 然后我使用这个种子 github.com/frostney/react-native-create-library 创建了一个 React-Native 库

现在,我需要使用这个包https://github.com/toystars/react-native-geo-fence 图书馆内。

问题是:该库不是 react-native 应用程序,地理围栏库需要链接。

当然,我不能更改 React-Native 应用程序,也不能直接在其中使用地理围栏。

逻辑需要保留在我创建的库中。

当我将我创建的库(上面已经有地理围栏包)与我创建的应用程序链接时,应用程序上没有发生地理围栏 gradle 设置和 android 配置。

这仅涉及 Android

【问题讨论】:

如果需要链接,您可以像这样创建模块 (github.com/frostney/react-native-create-library) 并在 npm 或本地或仅 github 上发布并将包添加到您的 package.json 我使用这个种子创建了库,我现在需要向它添加一个包,关键是这个种子不是一个 react-native 应用程序,它不能从它内部链接任何东西。跨度> 我不确定。我理解正确你。但是您可以使用本地路径安装 npm 模块并将包链接到您的项目。 我需要将一个库链接到另一个库。一个库只能链接到一个 react-native 应用程序项目。哪个图书馆不是。那个种子不是一个 react-native 应用程序项目,所以它不能链接任何东西。我的 APP 使用一个 LIB,这个 LIB 使用,现在是另一个需要链接的 LIB。但我无法链接它,因为它在另一个 LIB 中,而不是 APP 您可以根据需要扩展库。您可以添加为依赖项。 【参考方案1】:

无法将 react-native 库链接到另一个 react-native 库。

所以正确的过程是添加任何需要链接的第三方 react-native 库,你想在自己的 react-native 库中使用,作为 package.json 上的 peerDependency。

这样第三方库将直接安装在应用程序中,并且将链接到应用程序,但使用第三方库的逻辑将在您自己的内部。

因此您可以创建一个库,将 react-native-geo-fence 添加为您的库的 peerDependency,然后根据需要编写代码。 在此之后,使用您的 lib 的应用程序必须安装它并手动链接 react-native-geo-fence,然后就是这样。

【讨论】:

在我的反应库对等依赖项中添加任何其他第三方库后仍然无法在我的应用程序中工作..请建议进一步的步骤 @priyanka 您是否再次在您的应用程序上运行 npm install ?将对等依赖项添加到您的库后,您应该在您的应用程序上重新安装所有内容。

以上是关于在另一个 React-Native 库中使用 React-Native 库的主要内容,如果未能解决你的问题,请参考以下文章

使用ClojureScript,Re-natal和React-Native禁用RTL?

从 React-native cameraRoll 库中检索视频的 fileSize 和 playableDuration

如何在另一个 CRT 库中重新路由 std::clog?

在另一个静态库中链接静态库

在另一个 git 存储库中维护一个 Git 存储库

如何将 Git 存储库转换为嵌套在另一个(父)Git 存储库中的子模块?