无法解析模块./.expo/.virtual-metro-entry

问题描述 投票:0回答:2

实际上我已经安装了unimodule,之前正在运行react native cli,因为tensorflow/tfjs-react-native我必须安装unimodule,但是每当我做yarn android时,我都会遇到以下错误 错误:无法从 /home/lipl-149/Desktop/Ankit/ReactJs/ReactNativeTry/ 解析模块 ./.expo/.virtual-metro-entry。:

这些文件都不存在:

  • .expo/.virtual-metro-entry(.native|.android.js|.native.js|.js|.android.jsx|.native.jsx|.jsx|.android.json|.native.json| .json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)
  • .expo/.virtual-metro-entry/index(.native|.android.js|.native.js|.js|.android.jsx|.native.jsx|.jsx|.android.json|.native。 json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx) 在ModuleResolver.resolveDependency(/home/lipl-149/Desktop/Ankit/ReactJs/ReactNativeTry/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:114:15) 在 DependencyGraph.resolveDependency (/home/lipl-149/Desktop/Ankit/ReactJs/ReactNativeTry/node_modules/metro/src/node-haste/DependencyGraph.js:277:43) 在/home/lipl-149/Desktop/Ankit/ReactJs/ReactNativeTry/node_modules/metro/src/lib/transformHelpers.js:169:21 在 Server._resolveRelativePath (/home/lipl-149/Desktop/Ankit/ReactJs/ReactNativeTry/node_modules/metro/src/Server.js:1045:12) 在 processTicksAndRejections (节点:内部/进程/task_queues:96:5) 在 async Server.requestProcessor [as _processBundleRequest] (/home/lipl-149/Desktop/Ankit/ReactJs/ReactNativeTry/node_modules/metro/src/Server.js:449:37) 在 async Server._processRequest (/home/lipl-149/Desktop/Ankit/ReactJs/ReactNativeTry/node_modules/metro/src/Server.js:383:7)

能够进行图像表情识别

reactjs react-native tensorflow react-hooks expo
2个回答
1
投票

有同样的问题,原来我的配置不正确

metro.config.js

您应该有一个与 Expo 类似的配置。这是来自版本 51 的版本,但它应该适用于以前的 Expo 版本。

我所使用的是推荐的 React Native Metro 配置,如下所示:

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


而不是

const { getDefaultConfig } = require('expo/metro-config');


希望这有帮助!


0
投票
我正在使用带有预构建功能的 Expo 来生成我的反应本机应用程序。 我在从 Expo 48 升级到 Expo 51 时遇到了这个问题。 看起来该进程已经更新了

ios/App/AppDelegate.mm

 文件
在以下代码块中将“index”替换为“.expo/.virtual-metro-entry”:

#if DEBUG return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@".expo/.virtual-metro-entry"]; #else return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; #endif
所以我将代码块编辑回这样:

#if DEBUG return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; #else return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; #endif
这违背了预构建的目的,因为我正在更新本机文件,所以如果有人知道是否有办法更新预构建来解决这个问题,请告诉我。但我只是想解决这个问题,因为我找不到其他解决方案。希望这可以帮助你。

© www.soinside.com 2019 - 2024. All rights reserved.