3***@qq.com
3***@qq.com
  • 发布:2026-10-28 16:12
  • 更新:2026-10-28 17:34
  • 阅读:79

【报Bug】新建uni-app x 项目 使用 vite.config.js 打包报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 5.33

手机系统: Android

手机系统版本号: Android 14

手机厂商: 华为

手机机型: 小米

页面类型: nvue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

新建项目uni-app x
默认模板
蒸汽模式
lang默认值 js
然后新建 vite.config.js
import { defineConfig } from 'vite';
import uni from '@dcloudio/vite-plugin-uni';

export default defineConfig({
plugins: [uni()],
});

后面就直接打包安卓app 制作自定义基座 ,然后就报错
我在去掉vite.config.js 就打包安卓app成功

预期结果:

无法打包,报错

实际结果:

[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 编译失败。

bug描述:

新建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就能打包成功

2026-10-28 16:12 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app x技术交流群 ) 咨询,群中有相关专业的管理员和群友。

收到你的 bug 反馈,我以官方视角对这份反馈做一次评审,分为“反馈内容完整性”和“bug 是否成立”两部分说明。

一、反馈内容完整性评审

这份反馈整体质量较高,复现路径指向性明确,但有几处需要修正或补充:

  1. 预期结果填写有误:你在“预期结果”中填写的是“无法打包,报错”,这实际是当前的现象(实际结果)。正确的预期结果应该是:按照官方文档添加 vite.config.js 后,打包应正常成功。bug 反馈中预期结果与实际结果写反,会影响评审判断,建议修正。

  2. 分类信息存在矛盾:“手机厂商”填写为华为,“手机设备机型”填写为小米,两者不一致,建议核实修正。不过本次报错发生在编译打包阶段,尚未涉及真机环节,此信息不是关键项。

  3. 代码示例: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 系统提交时建议附上完整的最小复现工程。

  4. 复现步骤:描述清晰(新建 uni-app x 默认模板 → 蒸汽模式、lang 默认 js → 新建 vite.config.js → 打包安卓自定义基座),且变量单一(仅新增 vite.config.js 一个变量,移除后即恢复),具备可复现性。建议补充确认:工程是否为全新最小工程,未引入其他 uni_modules、uts 插件或依赖改动,以便排除干扰因素。

  5. 实际结果:报错日志完整(含编译器版本、蒸汽模式标识、uvue 默认 script lang 为 js、完整报错堆栈和出错文件行号),与描述一致,不属于误报。

另说明:我无法识别附件,如需补充信息请以文字形式直接描述。

二、bug 是否成立的分析

从现有资料看,这个反馈大概率成立,理由如下:

  1. vite.config.js 是 uni-app x 官方支持的能力。官方文档明确说明:vite.config.js 是可选配置文件,项目根目录存在时会被自动加载,且给出的基础配置示例与你使用的完全一致,文档未按蒸汽/VDOM 模式区分此能力的支持边界。参考:vite.config.js 文档。因此“仅添加官方文档示例的基础配置就导致编译失败”符合 bug 特征。

  2. 报错现象指向编译链路问题。报错 [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> 标签未被正确拆分处理,属于编译器插件链路层面的异常,而非你的代码问题。

  3. ask 社区存在类似历史案例。uni-app x 4.87 版本曾有开发者反馈“添加 vite.config.js 后打包报错、删除后恢复正常”(参考 ask 社区案例一、ask 社区案例二)。但请注意这些是 4.87 旧版本案例,报错内容与你本次不完全相同,只能作为该场景存在历史问题的参考,不能直接作为 5.33 版本的结论。

  4. 知识库中暂未找到 5.33 版本此问题的已知 issue 或修复记录,因此目前无法确认是否为已登记的 bug、也无法给出官方修复版本或 workaround。你当前“移除 vite.config.js 即可打包成功”的做法,在问题确认前可作为临时规避方式;如果暂时不需要 vite.config.js 提供的配置能力,可先移除该文件继续开发。

三、后续建议

  1. 修正预期结果(改为“打包成功”)、核实手机厂商与机型信息。
  2. 建议将此问题提交至 DCloud 官方 issue 系统:https://issues.dcloud.net.cn/ ,提交时附上最小复现工程(全新默认模板 + 该 vite.config.js),便于官方复现与定级。
  3. 你的复现步骤、报错日志和环境信息已基本满足 issue 要求,补充上述两点后即可形成一份完整的有效 bug 反馈。
内容为 AI 生成,仅供参考
DCloud_UNI_FengXY

DCloud_UNI_FengXY

根据步骤操作,未重现该问题,可以提交一个测试项目

3***@qq.com

3***@qq.com (作者)

直接发行打包 app

  • DCloud_UNI_FengXY

    测试没有问题,你的项目所处的所有父级目录,有没有什么node_modules目录之类的?可以把项目换个盘再试一下

    2026-10-28 19:21

要回复问题请先登录或注册