找不到模块:错误:无法解析“./lib/axios”
Posted
技术标签:
【中文标题】找不到模块:错误:无法解析“./lib/axios”【英文标题】:Module not found: Error: Can't resolve './lib/axios' 【发布时间】:2017-10-08 04:45:44 【问题描述】:我正在尝试在我的项目中导入 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
]
;
【问题讨论】:
【参考方案1】:Webpack 找不到 axios 的入口点,因为尝试搜索 typescript 文件,但没有这样的文件。您应该将 .js 添加到解析扩展中。更多信息在这里:https://webpack.js.org/configuration/resolve/#resolve-extensions
resolve:
extensions: ['.ts', '.js']
,
【讨论】:
【参考方案2】:我遇到了同样的问题,下面的命令解决了我的问题。
npm install --save axios
【讨论】:
【参考方案3】:对我来说,问题是我在安装 axios 后没有重新启动 yarn start
服务,该库已正确安装在应用程序本地 node_modules
目录中。
解决方案
用 CTRL+C 停止了 yarn 服务,然后用 yarn start
重新启动它。
【讨论】:
【参考方案4】:我遇到了同样的问题:
找不到模块:错误:无法解析 'axios' in '
我意识到在我的项目的 node_module 文件夹中找不到 axios 文件夹。我已经使用了npm install --save axios
,但在我的本地节点模块文件夹中仍然找不到它。
这就是我解决这个问题的方法。我查找了一些我已经完成的其他 react 项目,并将 axios 文件夹复制到了那个旧项目的 node_module 文件夹中。后来我将复制的 axios 文件夹粘贴到我当前项目的 node_module 文件夹中,问题就解决了。
【讨论】:
【参考方案5】:请记得在安装 axios 之前运行“npm 弹出”(停止服务器)。 这就是我解决这个问题的方法
npm eject
npm install --save axios
【讨论】:
以上是关于找不到模块:错误:无法解析“./lib/axios”的主要内容,如果未能解决你的问题,请参考以下文章
在 src/app 外部定义的模块显示错误“找不到模块:错误:无法解析 './' in”