【问题标题】:How do I make a Reusable components package for React native/expo apps using expo packages如何使用 expo 包为 React native/expo 应用程序制作可重用组件包
【发布时间】:2021-09-08 23:36:35
【问题描述】:

我试着查了一下,但很快就搞糊涂了|

我有一个用于可重用移动组件的包,它位于一个 monorepo 以及多个 expo 应用程序中。这个包中的大部分组件都是你的普通样式视图和东西,所有的应用程序都将包导入为

import ComponentName from "@my-package/Component"

它适用于所有基本的 react 原生组件,但现在我需要专门使用一个 expo 包(expo-icons),我想知道

1.- 这些软件包不是与您的 expo 版本紧密耦合吗?它们在 expo init 上预先打包,您无需明确安装任何东西。

2.- 有没有办法在节点模块中不显式安装任何东西的情况下使用它们?喜欢Rely on whatever version of expo/vector-icons is installed in the app importing this package instead of whatever @my-package has installed

3.- 如果我依赖https://github.com/oblador/react-native-vector-icons 应该可以工作,那么安装应用程序中的链接步骤是如何处理的?就像 App A 从我的包中导入一个图标组件,do I need to explicitly go to my package and copy the fonts? Do I need to install https://github.com/oblador/react-native-vector-icons in app A?

我可以说这些问题可能更多地涉及 npm 的工作原理,但我没有深入探讨,所以如果重复,我深表歉意。

【问题讨论】:

    标签: react-native npm expo


    【解决方案1】:

    此类包需要使用peerDependencies

    https://github.com/callstack/react-native-builder-bob#how-do-i-add-a-react-native-library-containing-native-code-as-a-dependency-in-my-library

    回复:@expo/vector-icons,您可以在代码中使用 react-native-vector-icons,它可以在 Expo 和非 Expo 应用程序中使用,因为 expo 会自动将其映射到 @expo/vector-icons

    【讨论】:

    • 感谢您的快速响应,我们实际上也在使用 builder-bob,但我没有考虑查看他们的存储库以获得答案。所以基本上添加 react-native-vector-icons 作为对等依赖项和作为对 my-package 的开发依赖项,就这样?从my-package 导入应用程序 A 应该正确设置所有内容吗?将其设置为对等依赖项将迫使我在应用程序 A 中安装 react-nativevector-icons,但例如在将明确使用 expo/vector-icons 的博览会上,我还需要安装 react-native-vector-icons?
    • P.S. expo maps it to @expo/vector-icons automatically的任何参考/来源链接?
    • 您可以查看使用 react-native-vector-icons 的 react-native-paper 存储库,但也可以无缝使用 @expo/vector-icons
    猜你喜欢
    • 1970-01-01
    • 2020-12-06
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多