ReactNative 入门示例中需要未知模块“498”错误

Posted

技术标签:

【中文标题】ReactNative 入门示例中需要未知模块“498”错误【英文标题】:Requiring unknown module "498" error in ReactNative getting started example 【发布时间】:2018-04-04 20:21:16 【问题描述】:

我正在尝试按照以下说明构建和运行入门 React Native 项目的 ios 模拟器版本:

https://facebook.github.io/react-native/docs/getting-started.html

应用程序在 XCode 模拟器中启动,非常短暂地显示它的窗口,但随后发生异常,打开带有消息的红色屏幕

“需要未知模块“498”。如果您确定该模块在那里, 尝试重新启动 Metro Bundler。您可能还想运行 yarnnpm install(取决于您的环境)。

loadModuleImplementation require.js:176:29

viewPropTypes.js:15:30

loadModuleImplementation require.js:212:12

View.js:20:22

loadModuleImplementation require.js:212:12

AppContainer.js:22:13"

ViewPropTypes 的第 15 行是

const PlatformViewPropTypes = require('PlatformViewPropTypes');

node_modules/react_native/Libraries/Components/Views/View.js的第20行是

const ViewPropTypes = require('ViewPropTypes');

注意:在 node_modules/react_native/lib/ 的目录结构中还有一个 15 行的 View.js 文件,它基本上是一个包含

的存根
// This is a forwarding module to allow React to require React Native internals
// as node dependency
module.exports = require('View');

我使用的是最新的 MacOS High Sierra (10.13.4),安装了 9.3 命令行工具的 XCode 9.3。我尝试过运行 yarn 和 npm install 以及全新安装。显然我已经安装了 NPM 和 Watchman。任何想法为什么股票示例不适合我?

【问题讨论】:

【参考方案1】:

新手错误。我之前曾尝试在不同的目录中构建不同的 React Native 项目,但 Metro Bundler 仍然指向之前的项目。正如错误消息提示的那样,重新启动 Metro Bundler 解决了这个问题。

也没有意识到异常屏幕中的错误是可点击的,它们会将您直接带入 Metro Bundler 终端进程以了解更多详细信息。希望这对其他人也有帮助!

【讨论】:

【参考方案2】:

在我的情况下,只需关闭所有相关进程,然后重新运行react-native run-android即可解决问题。

参考:https://github.com/facebook/react-native/issues/11568

【讨论】:

【参考方案3】:

我遇到了同样的问题。

就我而言,在创建可重用组件时,我没有将 React 导入到文件中,因为我没有在组件文件中使用它们(在功能组件中)。

事实证明,jsx 到 React 元素的转换发生在每个文件/模块的基础上,所以我们应该在每个文件中导入 React 和组件。

正常包含React和Component,问题解决了。

【讨论】:

【参考方案4】:

对我来说,我收到“955”错误。一个简单的解决方案是

import React, Component from "react";

【讨论】:

以上是关于ReactNative 入门示例中需要未知模块“498”错误的主要内容,如果未能解决你的问题,请参考以下文章

需要未知模块:“未定义”

ReactNative入门 —— 动画篇(上)

基于CocoaPods的 React Native新手入门

需要未知模块“未定义”

需要未知模块“1”。如果您确定该模块存在,请尝试重新启动 Metro

错误:QT 中的未知模块:qml quick - Qt Creator