无法解析模块“react-native-screen”

Posted

技术标签:

【中文标题】无法解析模块“react-native-screen”【英文标题】:Unable to resolve module 'react-native-screen' 【发布时间】:2020-04-15 19:52:34 【问题描述】:

我从 Atom 上的 React Native 收到此错误:

这是我的步骤:

    我跑了npm install --save react-navigation,结果如下:

    然后我跑了npm install

然后,当我运行我的应用程序时,我得到一个错误:

无法从“node_modules\react-navigation-stack\lib\module\views\StackView\StackViewCard.js”解析“react-native-screens” 构建 javascript 包失败。

【问题讨论】:

【参考方案1】:

您需要再安装 3 个库 react-native-gesture-handlerreact-native-reanimatedreact-native-screens

npm install --save react-native-gesture-handler react-native-reanimated react-native-screens

参考:https://reactnavigation.org/docs/en/getting-started.html#installing-dependencies-into-a-bare-react-native-project

【讨论】:

我也必须这样做:rm -rf ./node_modulesyarn cache clean【参考方案2】:

使用以下步骤,这将 100% 有效。

    安装 React Navigation

npm install react-navigation

    安装依赖项

expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view

    安装 React 导航堆栈

npm install react-navigation-stack @react-native-community/masked-view

    使用 npm start -c 启动应用并清除缓存

更新导入

imports  will  look like this:
import  createAppContainer  from 'react-navigation';
import  createStackNavigator  from 'react-navigation-stack';

错误? 如果您仍然看到有关软件包的错误和投诉,请执行以下操作:

    rm -r node_modules

    rm package-lock.json

    expo upgrade

    npm start -c

【讨论】:

【参考方案3】:

如果你已经下载了 react-navigation,那么如果没有 react-native-gesture-handler ,react-native-reanimated, react-native-screens 的支持库,它将无法工作

你可以通过 yarn 或 npm 下载它。

npm install  react-native-gesture-handler react-native-reanimated react-native-screens

yarn add react-native-gesture-handler react-native-reanimated react-native-screens

希望对您有所帮助。如有疑问,请随意

【讨论】:

【参考方案4】:

如果您将 expo 用于 react-native 项目,那么对于 react-native 导航,您需要先安装以下依赖项。

expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view

然后在安装上述依赖项后,您可以为不同类型的导航安装依赖项,例如 -

    底部标签导航npm install @react-navigation/bottom-tabs 抽屉导航npm install @react-navigation/drawer

等等

【讨论】:

【参考方案5】:

我使用了以下步骤:

npm install --save react-navigation

expo install react-native-gesture-handler react-native-reanimated react-navigation-stack react-native-screens

expo install react-native-safe-area-view react-native-safe-area-context

expo install @react-native-community/masked-view

【讨论】:

请考虑在您的回答中添加一些解释和细节。【参考方案6】:

在您的 .eslintrc.js 中添加以下行:

 settings: 
    'import/resolver': 
      'node': 
        extensions: ['.js', '.jsx', '.json', '.native.js']
      
    ,
  ,

在您的 .flowconfig 中添加:

module.file_ext=.native.js

【讨论】:

【参考方案7】:

如果您要升级到 SDK 39。

运行此命令:

expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view

谢谢。

【讨论】:

以上是关于无法解析模块“react-native-screen”的主要内容,如果未能解决你的问题,请参考以下文章

未找到模块:无法解析“

找不到模块:错误:无法解析模块“路由”

Webpack:无法解析模块“文件加载器”

React 无法编译模块未找到:无法在listingDetail 上解析

找不到模块:无法解析“firebase”

无法解析模块 ./zlib_bindings