📌  相关文章
📜  expo\appentry.js: 找不到模块'.转换文件文件' (1)

📅  最后修改于: 2023-12-03 14:41:04.262000             🧑  作者: Mango

Expo Appentry.js 找不到模块转换文件问题

问题描述

在使用 Expo 创建的项目中,有时候会出现以下错误提示:

Error: Unable to resolve module `./appEntry` from `node_modules/expo/AppEntry.js`: The module `./appEntry.js` could not be found from `node_modules/expo/AppEntry.js`. Indeed, none of these files exist:
  * node_modules/expo/appEntry.js(.native|.ios.expo.ts|.expo.ts|.ios.expo.tsx|.expo.tsx|.ios.expo.js|.expo.js|.ios.expo.jsx|.expo.jsx|.ios.ts|.ts|.ios.tsx|.tsx|.ios.js|.js|.ios.jsx|.jsx|.ios.json|.json)

这个错误提示表示找不到 Expo 中的 appEntry.js 模块,导致项目无法正常运行。

解决方法
  1. 检查 app.json 文件中的入口文件是否正确配置,正确的配置方式是将 App.js 或 App.tsx 作为入口文件:

    {
      "expo": {
        "name": "MyApp",
        "slug": "my-app",
        "version": "1.0.0",
        "entryPoint": "./node_modules/expo/AppEntry",
        "sdkVersion": "42.0.0",
        "platforms": ["ios", "android"],
        "orientation": "portrait",
        "icon": "./assets/icon.png",
        "splash": {
          "image": "./assets/splash.png",
          "resizeMode": "contain",
          "backgroundColor": "#ffffff"
        },
        "updates": {
          "fallbackToCacheTimeout": 0
        },
        "assetBundlePatterns": ["**/*"],
        "ios": {
          "supportsTablet": false,
          "bundleIdentifier": "com.example.myapp",
          "config": {
            "googleSignIn": {
              "reservedClientId": "com.googleusercontent.apps.xxxxxxxxxxxxxxxxxxxx"
            }
          }
        },
        "android": {
          "adaptiveIcon": {
            "foregroundImage": "./assets/adaptive-icon.png",
            "backgroundColor": "#FFFFFF"
          },
          "package": "com.example.myapp",
          "versionCode": 1
        },
        "web": {
          "favicon": "./assets/favicon.png"
        }
      }
    }
    
  2. 尝试升级 Expo 的版本,使用最新版本的 Expo 可能会修复这个问题。

  3. 如果 app.json 配置文件中入口文件设置正确且升级 Expo 也无法解决问题,可以尝试以下操作:

    • 删除 node_modules 文件夹
    • 删除 package-lock.json 文件
    • 运行 npm install 重新安装依赖
结论

以上就是解决 Expo Appentry.js 找不到模块转换文件问题的方法,通过正确配置入口文件,升级 Expo 的版本或者重新安装依赖都可以解决这个问题。