Module not found: Error: Can't resolve './lib/axios'

Module not found: Error: Can't resolve './lib/axios'

我正在尝试在我的项目中导入 axios。但是,由于某些原因,webpack/axios 在尝试构建时给我带来了很大的麻烦。

GroupService.ts

import axios, { AxiosResponse, AxiosInstance } from 'axios';

webpack --display-error-details 错误

ERROR in ./~/axios/index.js
Module not found: Error: Can't resolve './lib/axios' in 'C:\dev\test-project\node_modules\axios'
resolve './lib/axios' in 'C:\dev\test-project\node_modules\axios'
  using description file: C:\dev\test-project\node_modules\axios\package.json (relative path: .)
  after using description file: C:\dev\test-project\node_modules\axios\package.json (relative path: .)
    using description file: C:\dev\test-project\node_modules\axios\package.json (relative path: ./lib/axios)
      as directory
        C:\dev\test-project\node_modules\axios\lib\axios doesn't exist
      no extension
        C:\dev\test-project\node_modules\axios\lib\axios doesn't exist
      .ts
        C:\dev\test-project\node_modules\axios\lib\axios.ts doesn't exist
[C:\dev\test-project\node_modules\axios\lib\axios]
[C:\dev\test-project\node_modules\axios\lib\axios]
[C:\dev\test-project\node_modules\axios\lib\axios.ts]
 @ ./~/axios/index.js 1:17-39
 @ ./src/services/GroupService.ts
 @ ./src/test-project.ts

这是我的 webpack 配置。

webpack.config.js

/** Plugin settings **/
var jsOutputFile = 'dist/testproject.min.js';
var cssOutputFile = 'dist/styles.css';

/** Webpack configuration **/
var webpack = require("webpack");
var ExtractTextPlugin = require("extract-text-webpack-plugin");
var extractCSS = new ExtractTextPlugin(cssOutputFile);

module.exports = {
  // application entry file
  entry: "./src/test-project.ts",

  // bundled application output file
  output: {
    path: __dirname,
    filename: jsOutputFile
  },

  // Currently we need to add '.ts' to the resolve.extensions array.
  resolve: {
    extensions: ['.ts']
  },

  // Source maps support ('inline-source-map' also works)
  devtool: 'source-map',

  // Add the loader for .ts files.
  module: {
    rules: [
      {
        test: /\.tsx?$/,
        use: 'ts-loader'
      },
      {
        test: /\.scss$/,
        use: extractCSS.extract([
          {
            loader: 'css-loader'
          },
          {
            loader: 'sass-loader'
          }
        ])
      }
    ]
  },

  plugins: [
    new webpack.optimize.UglifyJsPlugin({
      minimize: true,
      sourceMap: true,
      compress: {
        warnings: true
      }
    }),
    extractCSS
  ]
};

Webpack 无法找到 axios 的入口点,因为尝试搜索 typescript 文件,但没有这样的文件。您应该将 .js 添加到解析扩展名中。此处有更多信息:https://webpack.js.org/configuration/resolve/#resolve-extensions

resolve: {
    extensions: ['.ts', '.js']
  },

我遇到了同样的问题:

module not found: Error: Can't resolve 'axios' in '

我意识到在我的项目的 node_module 文件夹中找不到 axios 文件夹。我已经使用了 npm install --save axios,但在我的本地 node-module 文件夹中仍然找不到它。

我就是这样解决这个问题的。我寻找了一些我已经完成的其他反应项目,并将 axios 文件夹复制到那个旧项目的 node_module 文件夹中。后来我将复制的 axios 文件夹粘贴到我当前项目的 node_module 文件夹中,问题就解决了。

对我来说,问题是我在安装 axios 后没有重新启动 yarn start 服务,库已正确安装在应用程序本地 node_modules 目录中。

解决方案

使用 CTRL+C 停止了 yarn 服务,然后使用 yarn start.

重新启动了它

我遇到了同样的问题,下面的命令解决了我的问题。

npm install --save axios

请记住 运行 "npm eject"(停止服务器) 在安装 axios 之前。 这就是我解决这个问题的方法

npm eject
npm install --save axios