typescript - 找不到模块 : Error: Can't resolve './lib/axios'

标签 typescript webpack 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']
  },

关于typescript - 找不到模块 : Error: Can't resolve './lib/axios' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43877164/

相关文章:

spring-mvc - 选项上的 Spring MVC CORS header 但不允许请求

node.js - 使用 axios、Node.js 连接到 Azure Blob 存储 REST API

php - react 本地axios ios不针对apache/php进行身份验证

vue.js - 如何在 Vue Nuxt 项目中导入整个 SCSS 文件夹?

javascript - 使用 Webpack 将 JavaScript 模块添加到 ASP.NET MVC 应用程序

typescript - Typescript 1.4 中的联合类型可以用于声明 d3 样式 "chained"getter/setter 吗?

javascript - 在 li 的 ngFor 中,ngclass 应用于 li 标记的所有行我想应用一个特定行

javascript - DevExtreme npm 模块未捕获类型错误 : $(. ..).dxButton 不是函数

javascript - typescript 中有什么方法可以使用对象作为键吗?

javascript - Typescript 严格类型检查不适用于可观察中的字符串和数组