当前位置: 首页 > news >正文

Vue3+Vite打包报错:Rollup failed to resolve import

报错信息:

vite v6.3.6 building for production... ✓ 1646 modules transformed. ✗ Build failed in 13.09s error during build: [vite]: Rollup failed to resolve import "node_modules/axios/index.cjs" from "D:/MyCode/wylims-jm/lims-client/src/views/capital/CapitalAllocate.vue?vue&type=script&setup=true&lang.ts". This is most likely unintended because it can break your application at runtime. If you do want to externalize this module explicitly add it to `build.rollupOptions.external` at viteLog (file:///D:/MyCode/wylims-jm/lims-client/node_modules/vite/dist/node/chunks/dep-Bu492Fnd.js:46363:15) at onRollupLog (file:///D:/MyCode/wylims-jm/lims-client/node_modules/vite/dist/node/chunks/dep-Bu492Fnd.js:46413:5) at onLog (file:///D:/MyCode/wylims-jm/lims-client/node_modules/vite/dist/node/chunks/dep-Bu492Fnd.js:46061:7) at file:///D:/MyCode/wylims-jm/lims-client/node_modules/rollup/dist/es/shared/node-entry.js:20803:32 at Object.logger [as onLog] (file:///D:/MyCode/wylims-jm/lims-client/node_modules/rollup/dist/es/shared/node-entry.js:22683:9) at ModuleLoader.handleInvalidResolvedId (file:///D:/MyCode/wylims-jm/lims-client/node_modules/rollup/dist/es/shared/node-entry.js:21429:26) at file:///D:/MyCode/wylims-jm/lims-client/node_modules/rollup/dist/es/shared/node-entry.js:21387:26 ERROR: "build-only" exited with 1. PS D:\MyCode\wylims-jm\lims-client>

vue3 vite打包报错: vite v6.3.6 building for production... ✓ 1646 modules transformed. ✗ Build failed in 13.09s error during build: [vite]: Rollup failed to resolve import "node_modules/axios/index.cjs" from "D:/MyCode/wylims-jm/lims-client/src/views/capital/CapitalAllocate.vue?vue&type=script&setup=true&lang.ts". This is most likely unintended because it can break your application at runtime. If you do want to externalize this module explicitly add it to `build.rollupOptions.external` at viteLog (file:///D:/MyCode/wylims-jm/lims-client/node_modules/vite/dist/node/chunks/dep-Bu492Fnd.js:46363:15) at onRollupLog (file:///D:/MyCode/wylims-jm/lims-client/node_modules/vite/dist/node/chunks/dep-Bu492Fnd.js:46413:5) at onLog (file:///D:/MyCode/wylims-jm/lims-client/node_modules/vite/dist/node/chunks/dep-Bu492Fnd.js:46061:7) at file:///D:/MyCode/wylims-jm/lims-client/node_modules/rollup/dist/es/shared/node-entry.js:20803:32 at Object.logger [as onLog] (file:///D:/MyCode/wylims-jm/lims-client/node_modules/rollup/dist/es/shared/node-entry.js:22683:9) at ModuleLoader.handleInvalidResolvedId (file:///D:/MyCode/wylims-jm/lims-client/node_modules/rollup/dist/es/shared/node-entry.js:21429:26) at file:///D:/MyCode/wylims-jm/lims-client/node_modules/rollup/dist/es/shared/node-entry.js:21387:26 ERROR: "build-only" exited with 1. PS D:\MyCode\wylims-jm\lims-client>

你在打包时遇到的错误是因为在CapitalAllocate.vue文件中,有一行导入语句使用了错误的路径

ts

import ... from 'node_modules/axios/index.cjs'

Vite / Rollup 无法解析这个路径,因为正确的导入方式应该使用包名,而不是指向node_modules内部的物理文件路径。

解决方案

1. 修改错误的导入语句(推荐)

打开src/views/capital/CapitalAllocate.vue,找到类似下面的代码:

ts

// ❌ 错误写法 import axios from 'node_modules/axios/index.cjs' // 或 import * as axios from 'node_modules/axios/index.cjs'

改为:

ts

// ✅ 正确写法 import axios from 'axios'

如果你的代码中使用了其他 axios 相关的具名导入,也一并改为标准方式:

ts

import axios, { AxiosInstance, AxiosResponse } from 'axios'

2. 确认 axios 已安装

在项目根目录执行:

bash

npm install axios # 或 yarn add axios

3. 清理缓存并重新打包

bash

# 删除 node_modules/.vite 缓存 rm -rf node_modules/.vite # 重新打包 npm run build

如果你确实需要导入.cjs文件(不推荐)

某些特殊场景下(如使用 CommonJS 版本的 axios),你可以通过 Vite 配置来允许这种导入,但不推荐,因为会破坏 ES 模块的最佳实践。

如果坚持这样做,可以修改vite.config.ts

ts

import { defineConfig } from 'vite' export default defineConfig({ build: { rollupOptions: { external: ['node_modules/axios/index.cjs'] // 告诉 Rollup 不要解析它 } }, // 同时需要为开发服务器添加别名 resolve: { alias: { 'node_modules/axios/index.cjs': 'axios' } } })

但这样只是绕过了错误,并没有真正解决问题,依然可能导致运行时错误。强烈建议使用第一种方案,改正导入语句。


补充:为什么会出现这种错误?

  • 可能是有人手动复制了物理路径,或者某些自动导入工具生成了错误的路径。

  • Vite 在处理node_modules中的文件时,期望通过包名(如'axios')来解析,而不是直接写文件系统路径。

http://www.cnnetsun.cn/news/1562269.html

相关文章:

  • GHelper终极教程:华硕笔记本性能优化完整指南,告别Armoury Crate臃肿体验
  • 985研究生研究:基于Comsol的裂隙岩体热-流-固耦合数值模拟建模技术,探索地热开采与超临...
  • 1.0 C#工控实战:多USB扫码枪数据精准采集与PLC通信方案
  • AppleALC终极解决方案:黑苹果音频兼容性完整指南
  • 告别杂乱布局!用PyVis的BarnesHut算法优化你的Neo4j知识图谱可视化
  • 保姆级教程:用POCO的NotificationQueue在C++里轻松玩转多线程任务队列
  • 别再死记硬背了!用这5个Thymeleaf实战小项目,彻底搞懂SpringBoot模板引擎
  • 程序实现多台仪器无线组网,数据互通,颠覆单台独立工作模式,实现协同测量。
  • 漫画脸描述生成保姆级教程:从Docker Hub拉取镜像到生成首个角色
  • 避坑指南:为什么你的 Docker 容器里总有 Chrome 僵尸进程?深入解析进程托管机制
  • TensorFlow Playground新手必看:5分钟搞懂神经网络可视化训练(附实战截图)
  • 5步释放华硕笔记本潜能:轻量级开源工具GHelper的实战优化指南
  • 别再用传统方式渲染Spine了!一份给独立游戏开发者的GPU动画烘焙与资源管理指南
  • 突破式3步实现:用MOOTDX构建零成本金融数据获取引擎
  • 用Excel自动计算软考挣值管理:从PV/EV到TCPI的模板制作教程
  • Win10+Ubuntu双系统翻车?手把手教你从GRUB急救模式恢复Windows引导
  • 3大创新机制:构建零配置智能体通信系统的完整方案
  • OpenClaw技能扩展指南:安装GLM-4.7-Flash专用插件提升能力
  • Arch Linux 新手必看:Pacman 包管理器的 10 个实用技巧(含镜像加速配置)
  • 别再死记硬背了!用Keras跑个Demo,5分钟搞懂Epoch、Batch Size和Iterations的关系
  • C++实战:手把手教你用DWA算法实现机器人避障(附完整代码)
  • 解决curl静态库链接错误:__imp__CertCloseStore@8等符号未定义问题
  • 独立站SEO与电商站点SEO有什么区别
  • 从梯度流到记忆门:RNN长程依赖问题的演进与实战破解
  • 如何对seo关键词组合进行持续优化和迭代_针对不同目标用户的seo关键词组合应该如何选择
  • foobox-cn终极美化方案:打造专业级音乐播放器界面
  • 解决企业知识孤岛挑战:Outline多平台文档迁移架构与技术实现方案
  • 罗技鼠标PUBG压枪宏:三步实现稳定射击的终极指南
  • QGroundControl(QGC)核心功能与行业应用深度解析
  • 某东H5ST参数逆向避坑指南:定值处理、动态Key与SHA256拼接的那些坑