首页 > 解决方案 > iOS 平台导入 axios 报错

问题描述

我使用 Windows 10 创建了一个 React-Native 项目,它可以在 Android 上完美运行。

我将文件复制到我的 iMac 并在 iOS 平台上运行该项目,但是当我尝试在 iOS 中运行该项目时出现以下错误:

error: bundling failed: Error: Unable to resolve module `axios` from `/Users/fabio/react/VirtusVSTS/src/components/Login.js`: Module does not exist in the module map

This might be related to https://github.com/facebook/react-native/issues/4968
To resolve try the following:
1. Clear watchman watches: `watchman watch-del-all`.
2. Delete the `node_modules` folder: `rm -rf node_modules && npm install`.
3. Reset Metro Bundler cache: `rm -rf /tmp/metro-bundler-cache-*` or `npm start -- --reset-cache`.  
4. Remove haste cache: `rm -rf /tmp/haste-map-react-native-packager-*`.
at ModuleResolver.resolveDependency (/Users/fabio/react/VirtusVSTS/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:158:1476)
at ResolutionRequest.resolveDependency (/Users/fabio/react/VirtusVSTS/node_modules/metro/src/node-haste/DependencyGraph/ResolutionRequest.js:92:16)
at DependencyGraph.resolveDependency (/Users/fabio/react/VirtusVSTS/node_modules/metro/src/node-haste/DependencyGraph.js:271:4465)
at dependencies.map.relativePath (/Users/fabio/react/VirtusVSTS/node_modules/metro/src/DeltaBundler/traverseDependencies.js:379:19)
at Array.map (<anonymous>)
at resolveDependencies (/Users/fabio/react/VirtusVSTS/node_modules/metro/src/DeltaBundler/traverseDependencies.js:378:16)
at /Users/fabio/react/VirtusVSTS/node_modules/metro/src/DeltaBundler/traverseDependencies.js:203:33
at Generator.next (<anonymous>)
at step (/Users/fabio/react/VirtusVSTS/node_modules/metro/src/DeltaBundler/traverseDependencies.js:296:307)
at /Users/fabio/react/VirtusVSTS/node_modules/metro/src/DeltaBundler/traverseDependencies.js:296:467

问题与轴导入有关。

我尝试在我的 iMac 中创建一个新项目并在其上导入轴。它完美地工作。

但是现在我不知道我在 Windows 上创建的项目发生了什么,为什么它不能在 iMac 上导入轴模块。

我运行错误消息中出现的所有步骤来尝试解决问题,但它不起作用。

我该如何解决这个问题?

标签: react-nativeaxios

解决方案


我的 node_modules 文件夹中不存在 axios 模块文件夹。来自用户 @needsleep 的评论帮助我理解了为什么我的 React Native 项目中没有 axios 模块。我开始使用 Yarn 并用它来安装 axios 模块(yarn add axios),它现在可以工作了。


推荐阅读