RT 使用vue+vite+ts cli方式创建的 官方命令
npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project
创建完毕后 @doloudio/* 各依赖版本都是 3.0.0-alpha-3061220221207001 (其实我想用正式版的)
然后正常开发 使用uni-ui组件 以及自定义组件 easycom 配置如下:
"easycom": {
"autoscan": true,
"custom": {
"^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue",
"^w-(.*)": "components/w-$1/w-$1.vue"
}
}
在Hbuilder alpha 版本上正常运行,今天HbuilderX提示版本升级到 3061320221209001 后 更新了HbuilderX工具并且使用
npx @dcloudio/uvm
更新了依赖版本。然后点运行,App正常运行了 但是提示
Failed to resolve component: uni-grid-item
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.
导致使用的uni-ui组件跟自定义组件都无法使用。然后我找到 easycom 插件后 尝试调试了一下 发现 source 输出是undefined 原alpha版本是有值输出的
// @dcloudio/uni-app-vite/easycom.js代码
if (name && !name.startsWith('_')) {
const source = (0, uni_cli_shared_1.matchEasycom)(name);
if (source) {
// 处理easycom组件优先级
return (0, uni_cli_shared_1.genResolveEasycomCode)(importDeclarations, str, (0, uni_cli_shared_1.addImportDeclaration)(importDeclarations, `__easycom_${i++}`, source));
}
}
所以认为是插件内部没有获取到组件的路径导致失效,但我不知道是我配置或是操作问题导致还是正式版本与alpha版本不一致,请官方大佬帮忙看一下应该怎么弄
2 个回复
大男人主义 (作者) - 前端开发者
使用Hbuilderx alpha版正常
DCloud_UNI_GSQ
uvm 管理依赖的方式比较保守,部分依赖不会自动帮用户降级,你可以手动对比一下默认模板的依赖版本差异。