qiuxiang / react-native-amap3d

react-native 高德地图组件,使用最新 3D SDK,支持 Android + iOS
https://qiuxiang.github.io/react-native-amap3d/api/
MIT License
1.28k stars 330 forks source link

ESLint: Unable to resolve path to module 'react-native-amap3d'.(import/no-unresolved) #697

Closed caopeng000 closed 2 years ago

caopeng000 commented 2 years ago

大佬,没有使用npm -i 。是直接以源码形式使用的。怎么回事呢请假一下

caopeng000 commented 2 years ago

请教一下哈哈

qiuxiang commented 2 years ago

所谓的以源码形式使用是指?

qiuxiang commented 2 years ago

刚发布一个版本到 npm,要加 @next。

caopeng000 commented 2 years ago

所谓的以源码形式使用是指? 因为要使用到项目中,后期遇到bug可能会随时调整rn和原生代码。所以就直接用的源码,没有使用npm的东西。 IDE使用的是WebStrom. 在编译期遇到的就是一条波浪线.然后提示不能解析.react-native-amp3d. 但是可以点进去。搞了一天了。不知道怎么回事

qiuxiang commented 2 years ago

我仍然不确定你是怎么使用源码的,如果你只是把代码放到自己的项目里用,是不行的,要作为一个完整的 npm 包来引用,因为 RN 的一套依赖管理和构建工具(包括 js 和原生代码)需要是完整的 npm 包才能正常工作。最简单的做法是,通过 git 地址来引用,不然你就需要改 react-native.config.js 来适应你的项目。

qiuxiang commented 2 years ago

不过看你的描述,都没有到这一步,都还是 js 模块引用的问题,这你就自己想办法了,很基础的问题。

caopeng000 commented 2 years ago

我仍然不确定你是怎么使用源码的,如果你只是把代码放到自己的项目里用,是不行的,要作为一个完整的 npm 包来引用,因为 RN 的一套依赖管理和构建工具(包括 js 和原生代码)需要是完整的 npm 包才能正常工作。最简单的做法是,通过 git 地址来引用,不然你就需要改 react-native.config.js 来适应你的项目。

敬爱的博主,我就是改react-native.config.js来适应项目的。

qiuxiang commented 2 years ago

没法给你建议,因为不知道你是怎么引用的,提供的信息太少了。

caopeng000 commented 2 years ago

没法给你建议,因为不知道你是怎么引用的,提供的信息太少了。 我现在按照文档的那个npm -i 3d。失败了。 通过yarn add 3d成功了,并且使用了你刚发布的3.0.0

但是在 AMapSdk.setApiKey( Platform.select({ android: "c52c7169e6df23490e3114330098aaac", ios: "186d3464209b74effa4d8391f441f14d", }) ); 报错: TypeError: null is not an object (evaluating 'AMapSdk.setApiKey')

qiuxiang commented 2 years ago

重新编译了?

caopeng000 commented 2 years ago

重新编译了?

恭喜恭喜。已成功显示出来。大佬厉害

caopeng000 commented 2 years ago

我最后的操作的是 yarn add 3d link 但是我们项目都是手动配置的 在setting里

caopeng000 commented 2 years ago

setting.gradle include ':react-native-amap3d' project(':react-native-amap3d').projectDir = new File(rootProject.projectDir, './rn/node_modules/react-native-amap3d/lib/android')