在./node_modules/axios/lib/adapters/http.js中出现错误

egdjgwm8  于 2022-11-05  发布在  iOS
关注(0)|答案(5)|浏览(966)

在我的react项目中安装并导入axios后,我遇到此错误,有帮助吗?:

编译时出现问题:

错误位于./node_modules/axios/lib/adapters/http.js 11:11-26

找不到模块:错误:无法解析“H:\Github\arshwy\reactjs-laravel-simple-dashboard\frontend-react\node_modules\axios\lib\adapters”中的“http”。您是指“./http”吗?应该在当前目录中解析的请求需要以.“/”开头。以名称开头的请求被视为模块请求,并在模块目录(node_modules,H:\Github\arshwy\reactjs-laravel-simple-dashboard\frontend-react\node_modules)中解析。如果无法更改源代码,则还有一个名为“preferRelative”的解析选项,它也会尝试在当前目录中解析这类请求。
突破性变化:webpack〈5用于默认包含node.js核心模块的polyfill。现在不再是这样了。请验证您是否需要此模块并为它配置polyfill。
如果要包括多边形填充,则需要:- 添加回退'resolve.回退:{“http”:require.resolve(“stream-http”)}' - install 'stream-http'如果您不想包含多边形填充,可以使用如下空模块:resolve.fallback:{“http”:错误}

错误在./node_modules/axios/lib/adapters/http.js 13:12-28

找不到模块:错误:无法解析“https”,位于“H:\Github\arshwy\reactjs-laravel-simple-dashboard\前端React\节点模块\axios\lib\适配器”中
突破性变化:webpack〈5用于默认包含node.js核心模块的polyfill。现在不再是这样了。请验证您是否需要此模块并为它配置polyfill。
如果要包括多边形填充,则需要:- 添加回退'resolve.回退:{“https”:require.resolve(“https-browserify”)}' - install 'https-browserify'如果您不想包含多边形填充,可以使用如下的空模块:resolve.fallback:{“https”:错误}

错误在./node_modules/axios/lib/adapters/http.js 19:10-24中

找不到模块:错误:无法解析“URL”,位于“H:\Github\arshwy\reactjs-laravel-simple-dashboard\前端React\节点模块\axios\lib\适配器”中
突破性变化:webpack〈5用于默认包含node.js核心模块的polyfill。现在不再是这样了。请验证您是否需要此模块并为它配置polyfill。
如果要包括多边形填充,则需要:- 添加回退'resolve.回退:{“url”:require.resolve(“url/”)}' - install 'url'如果您不想包含polyfill,可以使用如下的空模块:resolve.fallback:{“url”:错误}

错误在./node_modules/axios/lib/adapters/http.js21:11-26中

找不到模块:错误:无法解析“H:\Github\arshwy\reactjs-laravel-simple-dashboard\前端React\节点模块\axios\lib\适配器”中的“zlib”
突破性变化:webpack〈5用于默认包含node.js核心模块的polyfill。现在不再是这样了。请验证您是否需要此模块并为它配置polyfill。
如果要包括多边形填充,则需要:- 添加回退'resolve.回退:{“zlib”:require.resolve(“browserify-zlib”)}' - install 'browserify-zlib'如果你不想包含多边形填充,你可以使用一个空的模块,如下所示:resolve.fallback:{“zlib”:错误}

错误在./node_modules/follow-redirects/index.js中1:10-24

找不到模块:错误:无法解析'url'在'H:\Github\arshwy\reactjs-laravel-simple-dashboard\前端React\节点模块\后续重定向'中
突破性变化:webpack〈5用于默认包含node.js核心模块的polyfill。现在不再是这样了。请验证您是否需要此模块并为它配置polyfill。
如果要包括多边形填充,则需要:- 添加回退'resolve.回退:{“url”:require.resolve(“url/”)}' - install 'url'如果您不想包含polyfill,可以使用如下的空模块:resolve.fallback:{“url”:错误}

错误在./node_modules/follow-redirects/index.js 5:11-26中

找不到模块:错误:无法解析'H:\Github\arshwy\reactjs-laravel-simple-dashboard\frontend-react\node_modules\follow-redirects'中的'http''您的意思是'./http '?应在当前目录中解析的请求需要以'./'开头。以名称开头的请求被视为模块请求,并在模块目录(node_modules,H:\Github\arshwy\reactjs-laravel-simple-dashboard\frontend-react\node_modules)中解析。如果无法更改源代码,则还有一个名为'preferRelative'的解析选项,它也会尝试在当前目录中解析这类请求。
突破性变化:webpack〈5用于默认包含node.js核心模块的polyfill。现在不再是这样了。请验证您是否需要此模块并为它配置polyfill。
如果要包括多边形填充,则需要:- 添加回退'resolve.回退:{“http”:require.resolve(“stream-http”)}' - install 'stream-http'如果您不想包含多边形填充,可以使用如下空模块:resolve.fallback:{“http”:错误}

错误在./节点_模块/跟随-重定向/index. js 7:12-28

找不到模块:错误:无法解析“H:\Github\arshwy\reactjs-laravel-simple-dashboard\frontend-react\node_modules\follow-redirects”中的“https”,您的意思是“./https”吗?应该在当前目录中解析的请求需要以“./”开头。以名称开头的请求被视为模块请求,并在模块目录(node_modules,H:\Github\arshwy\reactjs-laravel-simple-dashboard\frontend-react\node_modules)中解析。如果无法更改源代码,则还有一个名为“preferRelative”的解析选项,它也会尝试在当前目录中解析这类请求。
突破性变化:webpack〈5用于默认包含node.js核心模块的polyfill。现在不再是这样了。请验证您是否需要此模块并为它配置polyfill。
如果要包括多边形填充,则需要:- 添加回退'resolve.回退:{“https”:require.resolve(“https-browserify”)}' - install 'https-browserify'如果您不想包含多边形填充,可以使用如下的空模块:resolve.fallback:{“https”:错误}

错误在./节点_模块/跟随-重定向/index. js 9:15-41

找不到模块:错误:无法解析“流”,位于“H:\Github\arshwy\reactjs-laravel-simple-dashboard\前端React\节点模块\后续重定向”中
突破性变化:webpack〈5用于默认包含node.js核心模块的polyfill。现在不再是这样了。请验证您是否需要此模块并为它配置polyfill。
如果要包括多边形填充,则需要:- 添加回退'resolve.回退:{“流”:required.resolve(“stream-browserify”)}' - install 'stream-browserify'如果不想包含多边形填充,可以使用如下空模块:resolve.fallback:{“流”:错误}

错误在./node_modules/follow-redirects/index.js 11:13-30中

找不到模块:错误:无法解析“H:\Github\arshwy\reactjs-laravel-simple-dashboard\前端React\节点模块\后续重定向”中的“Assert”
突破性变化:webpack〈5用于默认包含node.js核心模块的polyfill。现在不再是这样了。请验证您是否需要此模块并为它配置polyfill。
如果要包括多边形填充,则需要:- 添加回退'resolve.回退:{“Assert”:require.resolve(“assert/”)}' - install 'assert'如果您不想包含polyfill,可以使用一个空模块,如下所示:resolve.fallback:{“Assert”:错误}

68de4m5k

68de4m5k1#

我通过以下方法解决了错误

npm audit fix --force
wswtfjt7

wswtfjt72#

我通过运行此命令解决了此错误
npm i网址

lawou6xi

lawou6xi3#

我通过以下步骤解决了此问题:
1.根据错误,使用npm i stream-http安装包stream-http
1.使用npm i,然后使用npm audit fix --force
1.使用npm run eject退出项目
1.查找文件./config/webpack.config.js
1.将fallback添加到resolve配置中,并将其配置为{ "http": require.resolve("stream-http") }
现在webpack.config.js看起来像这样:

// a lot of consts and imports (requires)
// ...
module.exports = function (webpackEnv) {
  // a lot of configs
  // ...
  resolve: {
    // ...
    fallback: {
      http: require.resolve("stream-http") // that is this
    }
  }
}
nxagd54h

nxagd54h4#

Webpack 5不再默认包含节点填充程序,因此我们必须选择加入所有需要的填充程序。我们需要在项目中添加一些依赖项来实现这一点:

yarn add process browserify-zlib stream-browserify util buffer assert

安装后,按如下所示修改您的webpack.config文件

const webpack = require("webpack");

module.exports = {
  /* ... */

  resolve: {
    fallback: {
      http : require.resolve("stream-http"),
      https : require.resolve("https-browserify"),
      url  : require.resolve("url"),
      process: require.resolve("process/browser"),
      zlib: require.resolve("browserify-zlib"),
      stream: require.resolve("stream-browserify"),
      util: require.resolve("util"),
      buffer: require.resolve("buffer"),
      asset: require.resolve("assert"),
    }
  },
  plugins: [
    new webpack.ProvidePlugin({
      Buffer: ["buffer", "Buffer"],
      process: "process/browser",
    }),
  ]

  /* ... */
}
yrdbyhpb

yrdbyhpb5#

版本0.27 [最新]不适用于我,所以我删除了它,并安装了prev版本,如下所示:“axios”:“^0.21.1”它很适合我

相关问题