如何使用 expo 包为 React native/expo 应用制作可重用组件包
How do I make a Reusable components package for React native/expo apps using expo packages
我试着查了一下,但很快就搞糊涂了|
我有一个可重复使用的移动组件包,它与多个 expo 应用程序一起位于 monorepo 中。这个包中的大部分组件都是你的平均样式视图和东西,所有的应用程序都将包导入为
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 应该有效,那么在安装应用程序时如何处理 link 步骤?比如 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 的工作原理有更多关系,但我没有深入探讨,所以如果重复,我深表歉意。
您需要为此类包使用 peerDependencies
。
回复:@expo/vector-icons
,您可以在您的代码中使用 react-native-vector-icons
,它可以在 Expo 和非 Expo 应用程序中使用,因为 expo 会自动将其映射到 @expo/vector-icons
。
我试着查了一下,但很快就搞糊涂了|
我有一个可重复使用的移动组件包,它与多个 expo 应用程序一起位于 monorepo 中。这个包中的大部分组件都是你的平均样式视图和东西,所有的应用程序都将包导入为
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 应该有效,那么在安装应用程序时如何处理 link 步骤?比如 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 的工作原理有更多关系,但我没有深入探讨,所以如果重复,我深表歉意。
您需要为此类包使用 peerDependencies
。
回复:@expo/vector-icons
,您可以在您的代码中使用 react-native-vector-icons
,它可以在 Expo 和非 Expo 应用程序中使用,因为 expo 会自动将其映射到 @expo/vector-icons
。