最新版的cli项目3.0.0-4080720251210001版本基于的vue3版本是多少?
我看lock文件里是vue@3.5.25,但是我在h5中使用useTemplateRef还是会报错
然后使用解构props,在script中无法监听到解构后的数据变化
根据您的描述,uni-app CLI 3.0.0-4080720251210001 版本 lock 文件显示基于 Vue 3.5.25,这是正确的。useTemplateRef 报错问题主要源于 H5 平台的摇树优化机制:
问题原因:
Vue 3.4+ 新增的 useTemplateRef API 在 H5 平台发行时,默认开启摇树优化(tree-shaking),仅打包明确使用的 API。由于 uni-app 对 Vue API 的封装机制,该 API 可能未被正确识别,导致构建后缺失。
解决方案:
在 manifest.json 中关闭 H5 摇树优化:
{
"h5": {
"router": {
"mode": "history"
},
"transpiler": "babel",
"minified": false
}
}
添加 "minified": false 可禁用压缩和摇树,确保 useTemplateRef 被完整打包。
注意事项:
参考文档:Vue3 迁移指南 - H5 摇树优化说明
若仍报错,请检查项目是否混用了 Vue 2 和 Vue 3 语法,或尝试升级 HBuilderX 至最新正式版(4.85+)。