unplugin / unplugin-vue-components

📲 On-demand components auto importing for Vue
https://www.npmjs.com/package/unplugin-vue-components
MIT License
3.66k stars 341 forks source link

求助,我该如何将components/index.ts中导出的组件进行自动导出? #724

Open summer1874 opened 6 months ago

summer1874 commented 6 months ago

文件结构

├── src/
│ ├── components/
│ │ └── src/
│ │  │ └── col.vue
│   └── index.ts

index.ts

import Col from './src/col.vue'
import Col2 from './src/col2.vue'

export { Col ,Col2 }
Components({
  resolvers: [
    ElementPlusResolver(),
  ],
  dts: resolve('src/components.d.ts'),
  globs: ['src/components/**/index.ts']
}),

这样配置得到的是

col: typeof import('./components/col/index.ts')['default']

我改如何viteconfig中配置了,才能准确的导入了?

weiquanju commented 5 months ago

你可以修改你的目录结构

├── src/
│ ├── components/
│ │ └──  col.vue

不需要src/components/index.ts这个文件

因为最新版unplugin-vue-components默认支持src/components目录下的组件自动导入,不需要做额外配置 vite config移除globs: ['src/components/**/index.ts'],如下

Components({
  resolvers: [
    ElementPlusResolver(),
  ],
  dts: ‘components.d.ts’,
}),

如果你是第三方组件库作者,可以参考这篇文章workspace-autoimport