如何使用为 react-native 创建的 npm 库而不发布到 npm

Posted

技术标签:

【中文标题】如何使用为 react-native 创建的 npm 库而不发布到 npm【英文标题】:How to use a npm library created for react-native without publishing to npm 【发布时间】:2019-05-04 12:50:24 【问题描述】:

我使用创建了一个 npm 库 react-native-create-library。我可以将新创建​​的库发布到 npm 中。但是随着我的开发,我无法在本地使用 react-native 项目对其进行测试。

如果我尝试通过将文件路径添加到 package.json 的依赖部分来添加 然后我收到此错误

错误:捆绑失败:错误:无法从 C:\Users\kk\TestLibABCD1\LibraryTester\App.js 解析模块 react-native-test-library-abcd-one:模块 react-native-test-library-abcd-one 在 Haste 模块映射中不存在

如果我做一个它会工作 npm install react-native-test-library-abcd-one。

在这种情况下如何链接我的本地 libaray?

【问题讨论】:

您可以使用npm pack 打包并使用npm install [absolute path] 安装它。签出此tutorial 【参考方案1】:

您应该在package.json 中使用针对库名称设置的 git clone url。

这就是开发更大的软件/库的方式您应该使用 git 或其他方式对其进行版本化。 :)

应该是这样的:

"react-native-touch-id": "https://github.com/surajj2223/react-native-touch-id.git"

如果那不是您的库,那么需要这样一个简单的用例:您可以根据需要在某些特定库中更改一些代码,以便您现在和下一次拥有自己的库版本npm install/yarn install如果您没有将更改上传到 git,您将丢失更改。 所以可以做的是,

    fork 原始库。 克隆它并对其进行更改并推送它。 现在将您的库的克隆 URL 与 package.json 中的库名称相对应 npm install/yarn install,你现在可以走了。

如果您进行了一些其他人也需要的非常通用的更改,那么最好向原始库提出拉取请求并将其合并,从而也有助于社区。​​p>

【讨论】:

以上是关于如何使用为 react-native 创建的 npm 库而不发布到 npm的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Swift 创建 React-Native 框架

如何禁用 Android 上的设备后退按钮(react-native)?

如何将 React-Native Picker 的初始值设置为空

如何使用 Pandas 从 DataFrame 或 np.array 中的列条目创建字典

如何使用列中的np数组条目创建panda / pickle数据集,以便我可以有效地绘制它们?

如何使用 reanimated 2 [REACT-NATIVE] 创建捏合以缩放相机应用程序