Yee1014
Yee1014
  • 发布:2026-04-08 22:19
  • 更新:2026-04-08 22:22
  • 阅读:23

【报Bug】VueCli 创建的uni-app项目构建 uts 插件中的 nvue 报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

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

手机系统: 全部

手机厂商: 华为

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: CLI

CLI版本号: null

测试过的手机:

oppo oneplus

示例代码:

查看附件压缩包!

操作步骤:

VueCli 创建的uni-app项目构建 app 报错,各种警告信息

如题

1 创建项目

https://gitee.com/dcloud/uni-preset-vue/repository/archive/vite-ts.zip
下载vue-ts模板项目,可直接查看复现项目压缩包!

pnpm i

2 添加相关包

  1. TencentCloud-Call
  2. TencentCloud-Push
  3. 编写相关代码

3 构建打包

uni dev -p app-plus

预期结果:

正确识别导出 uts 插件中的 nvue 页面,并且没有 nvue-css 警告

实际结果:

ERROR: No matching export in "dist/dev/.nvue/uni_modules/TencentCloud-Call/callkit/callPage.js" for import "default"
无法导出

bug描述:

pnpm dev:app

uni-preset-vue@0.0.0 dev:app /Users/yee/WorkSpace/GitProjects/uni-ts-tui-kit-call
uni -p app-plus

请注意运行模式下,因日志输出、sourcemap 以及未压缩源码等原因,性能和包体积,均不及发行模式。
编译器版本:5.06(vue3)
正在编译中...
​[plugin:vite:nvue-css] WARNING: min-width is not a standard property name (may not be supported)​

18 | left: 0;
19 | right: 0;
20 | min-width: 100vw;
| ^
21 | }
22 |
at uni_modules/TencentCloud-Call/callkit/callPage.nvue:1:0​
​[@vue/compiler-sfc] defineProps is a compiler macro and no longer needs to be imported.

✘ [ERROR] No matching export in "dist/dev/.nvue/uni_modules/TencentCloud-Call/callkit/callPage.js" for import "default"

<stdin>:1:7:  
  1 │ import App from './uni_modules/TencentCloud-Call/callkit/callPage.js'  
    ╵        ~~~  

[plugin:uni:app-nvue-esbuild] Build failed with 1 error:
<stdin>:1:7: ERROR: No matching export in "dist/dev/.nvue/uni_modules/TencentCloud-Call/callkit/callPage.js" for import "default"

2026-04-08 22:19 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

作为 DCloud 官方人员,对这个 bug 反馈进行评审如下:

评审意见

1. 内容完整性评估

不足之处:

  • 代码示例缺失:反馈中提到"查看附件压缩包",但实际文本中并未提供附件或关键代码片段,官方无法直接查看 TencentCloud-Call 插件的具体结构以及 callPage.nvue 的导出方式
  • 版本信息不精确:仅标注"HBuilderX 正式版",未提供具体版本号(如 5.04),虽然编译器版本显示 5.06,但建议明确 HBuilderX 版本
  • 复现步骤过简:"添加相关包"和"编写相关代码"缺乏具体细节,无法确定 uts 插件的目录结构、export 导出方式以及 manifest.json 配置

建议补充:

  • 提供 uni_modules/TencentCloud-Call/callkit/callPage.nvue 的完整源码,特别是 <script> 部分的 export 写法
  • 提供 uni_modules/TencentCloud-Call 的目录结构截图或描述(是否为 uts 插件,包含哪些文件)
  • 提供该 uts 插件的 package.jsonmanifest.json 配置

2. 概念性疑问(需用户澄清)

关键概念混淆:
反馈标题提到"uts 插件中的 nvue",这里存在架构概念混淆:

  • uts 插件:用于编写原生功能扩展(Android/iOS/鸿蒙原生能力),通常位于 uni_modules 下,使用 uts 语言编写
  • nvue 页面:uni-app 的页面类型之一,使用 weex 渲染引擎,通常位于 pages 或组件目录下

疑问点:

  • callPage.nvue 是作为 uts 插件的一部分,还是作为普通页面引用了 uts 插件?
  • 如果是 uts 插件内部包含 nvue 文件,这种架构是否符合设计规范?uts 插件应当导出原生能力,而非 nvue 页面组件
  • 错误信息 No matching export in "...callPage.js" for import "default" 表明构建后的 js 文件缺少默认导出,这可能是 nvue 文件编译结果与 uts 插件导出规范冲突导致

3. Bug 成立性初步判断

基于现有信息,无法直接确认为框架 bug,可能属于以下情况之一:

  1. 使用方式问题:uts 插件中不应直接包含 nvue 页面文件,或 nvue 页面不应通过 uts 插件方式导出
  2. 编译配置问题:VueCli 项目对 uts 插件内的 nvue 文件编译处理可能存在边界情况
  3. 插件规范问题callPage.nvue 的导出写法可能不符合 nvue 页面规范(如使用了 defineProps 等 Vue3 特性但在 nvue 中不受支持)

关于警告信息:

  • min-width is not a standard property name:nvue 页面确实不支持所有标准 CSS 属性,这属于正常提示,非 bug
  • defineProps is a compiler macro:表明项目使用了 Vue3,但 nvue 页面在 App 端的渲染引擎对部分 Vue3 特性支持有限

4. 后续处理建议

请补充以下信息以便进一步定位:

  1. 确认架构设计TencentCloud-Call 作为 uts 插件,为何要包含 nvue 页面?是插件内部页面还是提供给调用方的示例页面?
  2. 提供最小复现:去除业务代码,提供一个仅包含基础 uts 插件结构和 nvue 页面的最小复现工程
  3. 确认导出方式callPage.nvue 中是如何导出组件的?是否使用了 export default
  4. 验证方式:尝试将该 nvue 页面移出 uts 插件目录(如放到 pages 目录),直接作为普通页面编译,观察是否仍然报错

临时建议:
如急需解决,建议检查 callPage.nvue 文件是否使用了 export default 正确导出组件,并确认该文件不应作为 uts 插件的入口文件,uts 插件的入口应为 uts 语言编写的原生能力暴露文件。

内容为 AI 生成,仅供参考

要回复问题请先登录注册