前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记录 unplugin-vue-components不生效

记录 unplugin-vue-components不生效

作者头像
wade
发布2024-06-17 15:43:03
1590
发布2024-06-17 15:43:03
举报
文章被收录于专栏:coding个人笔记coding个人笔记

之前用 vite + VUE3 + TS 开发了几个项目,最近因为一个新项目,想着升级这些版本,就重新起了一个项目,结果遇到了让自己爆炸的问题。

element-plus 官方推荐的按需引入,配置也给的明明白白:

代码语言:javascript
复制
npm install -D unplugin-vue-components unplugin-auto-import

// vite.config.ts
import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
  // ...
  plugins: [
    // ...
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
})

结果是无法引入:

代码语言:javascript
复制
App.vue:17 [Vue warn]: Failed to resolve component: el-button
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.
  at <App>

auto-imports.d.ts 文件和 components.d.ts 文件都有生成,components.d.ts 里面也出现了组件的引入:

代码语言:javascript
复制
/* eslint-disable */
// @ts-nocheck
// Generated by unplugin-vue-components
// Read more: https://github.com/vuejs/core/pull/3399
export {}

/* prettier-ignore */
declare module 'vue' {
  export interface GlobalComponents {
    ElButton: typeof import('element-plus/es')['ElButton']
    HelloWorld: typeof import('./src/components/HelloWorld.vue')['default']
  }
}

我还特地去提了个 issue,结果别人用这个 repo 可以,我就让两三个同事试试,结果惊呆了我,都可以,node 版本一模一样,有一个把整个项目打包给我(包括 node_modules),我的电脑还是不行。

也不知道自己怎么乱尝试的,网上各种文章跟着各种配置,结果就是引入不了。后面发现其实也有别人遇见了这个问题,还去提了 issue: https://github.com/unplugin/unplugin-vue-components/issues/752

官方人员试了,都能正常工作,也找了几个网上的热心人员帮忙,都一样,跟电脑有关系。

最终结果是我降了版本,v0.26.0 可以,我顺便也去提了 issue,描述了一下跟电脑有关系,结果不知道什么时候可以回复。

自己因为这个问题应该有花费了四五个小时,希望遇见这个问题的早点降低版本,然后蹲一下官方回复,可以的话可以去issue留言。

这种问题确实也是不好解决,不知道跟电脑哪些东西冲突了,本来不自量力打算本地怎么调试找一下问题,down 了 unplugin-vue-components 项目,结果不知道怎么运行调试。

如果有小伙伴知道答案,希望能分享一下,如果有调试 unplugin-vue-components 的方法,也希望能分享一下。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 coding个人笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档