You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native新架构Android端TurboModule模块解析报错求助

React Native新架构TurboModule模块找不到的解决办法

报错核心原因

从报错信息看,Metro在解析rtn-calculator/js/NativeCalculator.js时找不到对应文件——你的NativeCalculator.ts实际放在RTNCalculator根目录,但Metro被引导去js子目录下查找,路径不匹配;同时自定义TurboModule包的package.json缺少正确的入口配置,导致模块解析规则出错。

具体解决方案

1. 修正文件路径或包配置

两种方式二选一即可:

  • 方式一:调整文件位置
    把NativeCalculator.ts移动到RTNCalculator/js目录下,让文件路径完全匹配Metro的查找路径。
  • 方式二:修改package.json配置
    在RTNCalculator/package.json中,明确指定模块入口:
    {
      "name": "rtn-calculator",
      "main": "./NativeCalculator.ts",
      "exports": {
        "./js/NativeCalculator": "./NativeCalculator.ts"
      }
    }
    
    这里的exports字段是为了兼容Metro对rtn-calculator/js/NativeCalculator路径的查找请求,直接映射到实际文件位置。

2. 确保Metro能识别自定义包

检查项目根目录的metro.config.js,确保自定义包目录被纳入监听范围:

const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
const path = require('path');

const customConfig = {
  watchFolders: [path.resolve(__dirname, './RTNCalculator')]
};

module.exports = mergeConfig(getDefaultConfig(__dirname), customConfig);

3. 清理缓存并重建

  • 清除Metro缓存:
    npx react-native start --reset-cache
    
  • 重新编译Android:
    cd android && ./gradlew clean && ./gradlew assembleDebug
    

验证

重新启动React Native项目,调用NativeCalculator的add方法,确认报错消失,功能正常。

内容的提问来源于stack exchange,提问作者BraveEvidence

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 02:10:51