如何在 expo/react 本机中使用 3rd 方模块
How to use 3rd party modules in expo/react native
我使用
创建了一个项目
expo init myApp
然后使用
安装了第 3 方 React 本机模块
expo install my-module
然后在我的App.js
import myClass from 'my-module';
那我运行
expo prebuild
expo start
然后我使用 iPhone 上的相机应用程序扫描条形码,它在 Expo Go
中打开
然后我看到我的初始屏幕并出现这些错误
NativeModule.myClass is null
(打断导入线,抱怨链接不上,试过链接也没用,抱怨重建应用,但我该如何重建?)
"main" has not been registered.
(如果 metro 运行ning 来自错误的文件夹、模块加载失败或未调用 'AppRegistry.registerComponent' 可能会发生)
我试过多个模块都没有成功。我觉得这与构建应用程序有关,但我不确定我缺少什么。
或者我是否误解了我应该能够在本地构建和测试而不需要 ipa/apk。
我只能使用设备模拟器测试第 3 方模块吗?
正方形是长方形,但长方形不是正方形。同样,react native 是 expo 但 expo 不是 react native。
确保在查找包时搜索 expo [feature required]
而不是 react [feature required]
。您正在寻找的东西很可能已经在 expo 中,您不需要进行奇怪的安装。
导入遵循以下模式:import * as MyClass from 'my-module';
使用PowerShell
。 expo 的部分脚本是在 PowerShell 中完成的,因此它有助于 运行 从那里获取所有内容以保持理智。
Expo Go
应用程序仅适用于测试 UI 更改和交互性。它不适合测试特定于设备的功能,例如从传感器读取数据。使用模拟器或将其构建到您设备上的 运行 以进行最佳测试。在某些情况下,在本地网络上进行测试可能会奏效。
我使用
创建了一个项目expo init myApp
然后使用
安装了第 3 方 React 本机模块expo install my-module
然后在我的App.js
import myClass from 'my-module';
那我运行
expo prebuild
expo start
然后我使用 iPhone 上的相机应用程序扫描条形码,它在 Expo Go
中打开然后我看到我的初始屏幕并出现这些错误
NativeModule.myClass is null
(打断导入线,抱怨链接不上,试过链接也没用,抱怨重建应用,但我该如何重建?)
"main" has not been registered.
(如果 metro 运行ning 来自错误的文件夹、模块加载失败或未调用 'AppRegistry.registerComponent' 可能会发生)
我试过多个模块都没有成功。我觉得这与构建应用程序有关,但我不确定我缺少什么。
或者我是否误解了我应该能够在本地构建和测试而不需要 ipa/apk。
我只能使用设备模拟器测试第 3 方模块吗?
正方形是长方形,但长方形不是正方形。同样,react native 是 expo 但 expo 不是 react native。
确保在查找包时搜索
expo [feature required]
而不是react [feature required]
。您正在寻找的东西很可能已经在 expo 中,您不需要进行奇怪的安装。导入遵循以下模式:
import * as MyClass from 'my-module';
使用
PowerShell
。 expo 的部分脚本是在 PowerShell 中完成的,因此它有助于 运行 从那里获取所有内容以保持理智。Expo Go
应用程序仅适用于测试 UI 更改和交互性。它不适合测试特定于设备的功能,例如从传感器读取数据。使用模拟器或将其构建到您设备上的 运行 以进行最佳测试。在某些情况下,在本地网络上进行测试可能会奏效。