由于错误,模块无法加载,并且未调用 `AppRegistry.registerComponent`。,js 引擎:hermes

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

我正在研究react-native cli 项目。在这个项目中,我在启动开发服务器时遇到错误,如下所示:

错误不变违规:“frontendnative”尚未注册。如果出现以下情况,就会发生这种情况:* Metro(本地开发服务器)从错误的文件夹运行。检查 Metro 是否正在运行,停止它并在当前项目中重新启动它。 由于错误,模块无法加载,并且未调用

AppRegistry.registerComponent
。,js 引擎:hermes

index.js 文件没有问题,项目名称也与那里相同。这是index.js文件的代码片段:

import {AppRegistry} from 'react-native';
import App from './App';
import {name as appName} from './app.json';

AppRegistry.registerComponent(appName, () => App);

名称也在 app.json 文件中正确定义,如下所示:

{
  "name": "frontendnative",
  "displayName": "frontendnative"
}

此外,package.json 文件名也是正确的,名称为“frontendnative”。我目前正在使用react-native v0.73.7和metro v0.80.8

如何解决这个错误?

我发现错误。这可能是错误

错误不变违规:“frontendnative”尚未注册。如果出现以下情况,就会发生这种情况:* Metro(本地开发服务器)从错误的文件夹运行。检查 Metro 是否正在运行,停止它并在当前项目中重新启动它。 由于错误,模块无法加载,并且未调用

AppRegistry.registerComponent
。,js 引擎:hermes

javascript json typescript react-native ecmascript-6
1个回答
0
投票

我遇到了类似的问题,但 Stack Overflow 或 Github 上的任何其他答案都没有解决这个问题。深入了解后,我意识到这是由于 npm 软件包未正确安装而发生的。

我创建了一个新文件夹,粘贴了除 node_modules 之外的所有代码,并清除了 package.json 中所有额外添加的依赖项。 比使用 npm install 来获取初始node_modules。 然后我清除了 App.js 代码并编写了一个返回的简单代码

//App.js
import {View} from "react-native";
export default function App(){
   return <View/>
}

之后我一次一个地添加一个包,并不断在 Expo Go 中重新加载应用程序。最后我找到了问题的根源:

react-native-reanimated
。 安装该包需要对 babel.config.js 进行一些更改,我错过了这些更改,因此出现了问题。我卸载了它并按照文档中的指导重新安装,是的,它有效!希望你能找到你的,这个方法看起来很长,但对我有用。

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