大男人主义
大男人主义
  • 发布:2022-12-13 11:20
  • 更新:2023-01-04 11:50
  • 阅读:254

alpha 版本升级到 正式版本 easycom 失效的问题

分类:uni-app

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版本不一致,请官方大佬帮忙看一下应该怎么弄

2022-12-13 11:20 负责人:DCloud_UNI_GSQ 分享
已邀请:
大男人主义

大男人主义 (作者) - 前端开发者

使用Hbuilderx alpha版正常

DCloud_UNI_GSQ

DCloud_UNI_GSQ

uvm 管理依赖的方式比较保守,部分依赖不会自动帮用户降级,你可以手动对比一下默认模板的依赖版本差异。

要回复问题请先登录注册