javascript - 使用 expo 导入模块返回 null
问题描述
我正在尝试使用 expo 导入指南针模块但未成功并做出本机反应
当我取消注释导入行时出现错误,这给了我错误:
import RNSimpleCompass from 'react-native-simple-compass';
null is not an Object (Evaluating 'RNSimpleCompass.start')
我基本上使用提供的说明安装库:
npm install react-native-simple-compass --save
我也尝试链接它
npx react-native link react-native-simple-compass
然后我跑
npm start
它开始世博会并给我错误
我通常安装和运行其他 npm 包没有问题,但是这个在导入时一直在抱怨。
我检查了该库是否在我的 package.json 依赖项中。我什至尝试删除 node_modules 文件夹并重新运行 npm install 以重新安装所有依赖项,但错误仍然存在。
我错过了什么吗?
解决方案
当您拥有世博会“托管”项目(没有“ios”和“android”目录)时,您不能使用包含本机代码(objc 或 java)的 react-native 库。它在其他情况下也有效,因为您可能只添加了 js 库或 expo 明确支持的库。
如果你想使用那个库,你需要弹出到裸工作流(expo eject
)。您仍然可以访问您当前使用的所有 expo 库,但您将无法在 Expo 服务器上构建它。
推荐阅读
- python - 我在这里错过了什么,欧拉项目上的自我权力问题
- bazel - bazel:获取并解包额外的包?
- node.js - 获得未处理的拒绝(TypeError):无法读取未优化的属性“AED”
- python - 在 SSL 上使用相同域运行 Django/Python 电子商务网站和 Php 支付网关
- java - Android 平滑的音频波形
- node.js - 带有 discord.js 的 SQL Server
- arrays - 为什么在 for 循环中启动 i 变量,问题错误?
- python - 使用 Scipy 进行 3D 优化的界限
- reactjs - 字体真棒图标在本地运行完美,但在下一个 js 中不能在生产中运行
- selenium - 在 TestNG Selenium 中使用并行测试在两个相同的浏览器中运行两个测试用例(方法)