找不到模块:错误:无法解析'./lib/axios'

Gab*_*ert 6 typescript webpack axios

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

GroupService.ts

import axios, { AxiosResponse, AxiosInstance } from 'axios';
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

这是我的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
  ]
};
Run Code Online (Sandbox Code Playgroud)

Sla*_*kin 10

Webpack找不到axios的入口点,因为尝试搜索typescript文件,但是没有这样的文件.您应该将.js添加到resolve扩展.更多信息请访问:https://webpack.js.org/configuration/resolve/#resolve-extensions

resolve: {
    extensions: ['.ts', '.js']
  },
Run Code Online (Sandbox Code Playgroud)


Ish*_*Ish 6

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

npm install --save axios
Run Code Online (Sandbox Code Playgroud)


小智 5

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

解决方案

用 停止纱线服务CTRL+C并用 重新启动它yarn start