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。您可能还想运行
yarn
或npm 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”错误的主要内容,如果未能解决你的问题,请参考以下文章