我正在尝试在我的项目中导入 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/