vite 运行项目报错 ‘axios/index.js‘ does not provide anexport named ‘default‘

本文介绍了使用Vite构建工具时遇到的一个特定错误:在尝试导入axios时找不到默认导出。该问题仅在开发环境中出现,生产环境正常。文章解释了错误产生的原因,并提供了解决方案,即使用专门针对Vite优化的axios版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错信息

报错信息
报错信息:The requested module ‘/node_modules/axios/index.js?v=2866e624’ does not provide an export named ‘default’

现象

使用 vite 打包工具开发时出现,生产环境正常

原因

原因在于 Vite 是完全依靠 ESM 原生能力的,也就是他只认识 import ,因为 Vite 依赖 scriptmodule 属性。
我们的代码最终都会被送到浏览器里执行,requirecjs 的关键词,浏览器环境本身就没定义这个方法,自然就报错了。
这里和 webpack 不一样,webpack 把文件送到浏览器之前是会进行预打包的,这时候已经将 require 转换成 浏览器能兼容的方法了。
出现上述报错的原因可能是依赖中通过import导入一个ES6模块,但是这个ES6模块中使用了require,当Vite去构建的时候,发现是采用import导入的就不会预编译,从而报错。
查看原文

解决方法

使用一个捆绑的 axioses 模块
@bundled-es-modules/axios 说明文档

 npm i @bundled-es-modules/axios
// 引入
import { axios } from 'axios';

其他解决方案

import axios 导致 vue v3 和 vite 出现问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值