我创建了一个模块/库,其中包含了react本机-创建-库,用于处理自定义设备的特定ble过程,并为本机ble功能选择了react本机-ble-manager。由于我没有在我的库中编写任何本地代码,所以我只是在index.js中导出我的模块
import BleHandler from './src/BleHandler.js';
export default BleHandler;然后,我用npm封装了我的库,以便在测试应用程序中对其进行本地测试。到目前为止,一切都很好,我可以在测试应用程序中导入和使用我的模块。但是,当我尝试初始化布尔模块时,它会失败,因为它表面上不包含在NativeModules中:
[TypeError: null is not an object (evaluating 'bleManager.start')]
我在模块的package.json中包含了ble模块。
"dependencies": {
"@react-native-community/async-storage": "^1.11.0",
"react": "16.13.1",
"react-native": "0.63.3",
"react-native-ble-manager": "^7.4.1",
"react-native-fs": "^2.16.6",
"react-native-windows": "^0.57.2"
}但当我登记入住时:
TestApplication/node_modules/my-module/node_modules
反应本地人经理不在那里。
我现在的问题是,如果在一个模块中甚至可以使用一个本机模块,那么如何正确地使用它呢?
发布于 2020-12-27 10:49:01
应该将react-native-ble-manager添加到库中的peerDependencies中,而不是在dependencies中。然后,库的用户将在dependencies下的项目中安装本机模块。
https://stackoverflow.com/questions/64334342
复制相似问题