新建uni-app x 项目 使用 vite.config.js 打包报错
[HBuilder] 16:03:49.251 项目 xxxx [UNIEA53912] 开始打包 [取消打包]
[HBuilder] 16:03:51.204 编译器版本:5.33(uni-app x)蒸汽模式
[HBuilder] 16:03:51.204 当前视图层编译目标:字节码
[HBuilder] 16:03:51.204 当前 uvue/vue 文件默认 script lang:js
[HBuilder] 16:03:51.204 正在编译中...
[HBuilder] 16:03:51.204 编译会生成大量临时文件,杀毒软件监控时会影响编译速度,并造成CPU升高。推荐把项目目录添加到杀毒软件的监控排除名单中。[添加] [帮助]
[HBuilder] 16:03:52.627 编译器版本:5.33(uni-app x)
[HBuilder] 16:03:52.627 正在编译中...
[HBuilder] 16:03:56.545 ../../../../E:/app/xxxx/App.uvue (1:0): Error when using sourcemap for reporting an error: Can't resolve original location of error.
[HBuilder] 16:03:56.550 x Build failed in 80ms
[HBuilder] 16:03:56.550 [uts] ../../../../E:/app/xxxx/App.uvue (1:0): Expression expected (Note that you need plugins to import files that are not JavaScript)
[HBuilder] 16:03:56.550 file: E:/app/xxxx/App.uvue:1:0
[HBuilder] 16:03:56.550 1: <script setup>
[HBuilder] 16:03:56.550 ^
[HBuilder] 16:03:56.550 2: // #ifdef APP-ANDROID || APP-HARMONY
[HBuilder] 16:03:56.550 3: let firstBackTime = 0
[HBuilder] 16:03:56.615 项目 xxxx 编译失败。
vite.config.js:
import { defineConfig } from 'vite';
import uni from '@dcloudio/vite-plugin-uni';
export default defineConfig({
plugins: [uni()],
});
只是新建vite.config.js 打包安卓app就报错,不新建vite.config.js就能打包成功
3 个回复
Ask小助手
收到你的 bug 反馈,我以官方视角对这份反馈做一次评审,分为“反馈内容完整性”和“bug 是否成立”两部分说明。
一、反馈内容完整性评审
这份反馈整体质量较高,复现路径指向性明确,但有几处需要修正或补充:
预期结果填写有误:你在“预期结果”中填写的是“无法打包,报错”,这实际是当前的现象(实际结果)。正确的预期结果应该是:按照官方文档添加 vite.config.js 后,打包应正常成功。bug 反馈中预期结果与实际结果写反,会影响评审判断,建议修正。
分类信息存在矛盾:“手机厂商”填写为华为,“手机设备机型”填写为小米,两者不一致,建议核实修正。不过本次报错发生在编译打包阶段,尚未涉及真机环节,此信息不是关键项。
代码示例:vite.config.js 内容完整、可直接使用,且与官方文档中 uni-app x 的 vite.config.js 基础配置示例一致(必须引用 '@dcloudio/vite-plugin-uni' 并添加到 plugins 中,参考 vite.config.js 文档)。App.uvue 未附完整代码,但从报错日志看是默认模板代码(
<script setup>+// #ifdef APP-ANDROID || APP-HARMONY),官方人员可自行新建默认模板复现,这点可以接受;后续在 issue 系统提交时建议附上完整的最小复现工程。复现步骤:描述清晰(新建 uni-app x 默认模板 → 蒸汽模式、lang 默认 js → 新建 vite.config.js → 打包安卓自定义基座),且变量单一(仅新增 vite.config.js 一个变量,移除后即恢复),具备可复现性。建议补充确认:工程是否为全新最小工程,未引入其他 uni_modules、uts 插件或依赖改动,以便排除干扰因素。
实际结果:报错日志完整(含编译器版本、蒸汽模式标识、uvue 默认 script lang 为 js、完整报错堆栈和出错文件行号),与描述一致,不属于误报。
另说明:我无法识别附件,如需补充信息请以文字形式直接描述。
二、bug 是否成立的分析
从现有资料看,这个反馈大概率成立,理由如下:
vite.config.js 是 uni-app x 官方支持的能力。官方文档明确说明:vite.config.js 是可选配置文件,项目根目录存在时会被自动加载,且给出的基础配置示例与你使用的完全一致,文档未按蒸汽/VDOM 模式区分此能力的支持边界。参考:vite.config.js 文档。因此“仅添加官方文档示例的基础配置就导致编译失败”符合 bug 特征。
报错现象指向编译链路问题。报错
[uts] App.uvue (1:0): Expression expected (Note that you need plugins to import files that are not JavaScript)表明引入 vite.config.js 后,App.uvue 被当作纯 JS/uts 文件直接解析,Vue SFC 的<script setup>标签未被正确拆分处理,属于编译器插件链路层面的异常,而非你的代码问题。ask 社区存在类似历史案例。uni-app x 4.87 版本曾有开发者反馈“添加 vite.config.js 后打包报错、删除后恢复正常”(参考 ask 社区案例一、ask 社区案例二)。但请注意这些是 4.87 旧版本案例,报错内容与你本次不完全相同,只能作为该场景存在历史问题的参考,不能直接作为 5.33 版本的结论。
知识库中暂未找到 5.33 版本此问题的已知 issue 或修复记录,因此目前无法确认是否为已登记的 bug、也无法给出官方修复版本或 workaround。你当前“移除 vite.config.js 即可打包成功”的做法,在问题确认前可作为临时规避方式;如果暂时不需要 vite.config.js 提供的配置能力,可先移除该文件继续开发。
三、后续建议
DCloud_UNI_FengXY
根据步骤操作,未重现该问题,可以提交一个测试项目
3***@qq.com (作者)
直接发行打包 app
DCloud_UNI_FengXY
测试没有问题,你的项目所处的所有父级目录,有没有什么node_modules目录之类的?可以把项目换个盘再试一下
2026-10-28 19:21
要回复问题请先登录或注册
公告
更多>相关问题