如何在react native中选择依赖?



详细说明:假设我有一个运行在特定版本上的react native项目,并且安装了不同的npm包,我们知道每个npm包都有自己的node_modules和build。在什么情况下,这些包的本地依赖项将在我的项目中使用,在什么情况下,我的项目的依赖项将被使用?

在react native的新架构中支持turbo模块,而我使用的是一个没有启用turbo模块的库,只是想知道基于什么理由正在使用该包的本地版本,而不是我的项目中存在的版本

假设您正在使用react-native-reanimated 2。这个包的依赖项是react-native-gesture-handler。在大多数情况下,你也会将react-native-gesture-handler添加为本地依赖项。

现在,无论你在哪里导入reanimated 2并使用它的函数,reanimated的react-native-gesture-handler将被使用,而不是你的本地的。在某些情况下,不同版本的依赖会产生冲突。在这种情况下,你可以在package.json

中使用resolution或override在你的特定情况下,如果你正在使用的库不支持turbo模块,那么它将无法与新架构一起工作,因为新架构只支持turbo模块作为本机模块。

最新更新