我正在做一个简单的React原生库,它依赖于其他使用原生模块的库(react-native-device-info)。
我也正在做一个React Native项目来测试这个库,但是,当这个项目执行时,会出现一个错误,说没有本机模块(react-native-device-info)。
当然,我在ios目录下运行了"pod install",如果我在项目中安装了"react-native-device-info"库,它不会出错。
所以我考虑添加'react-native-device-info'库作为peerDependencies,但我希望使用我的库的开发人员使用它,而不需要任何额外的安装。
我需要对我的图书馆做些什么吗?
[版本]
- 天然 reactjs :0.70.6
- 我的图书馆只有typescript文件没有ios和android文件夹。
- 我只用tsc建了图书馆。
1条答案
按热度按时间gopyfrb31#
我不认为在你的库中加入RN 3rd依赖项是一个好主意,因为可能会发生冲突。想象一下,当你的库用户以前有自己的device-info版本时,你可以使用
peerDependencies
来控制哪些版本与你的库兼容,但是对于特定的依赖项,你必须强迫用户使用你的device-info
版本。例如,这个库https://github.com/rodgomesc/vision-camera-code-scanner依赖于
vision-camera
,但它没有带来它,而只是将它保存在devDependencies
中