unplugin-vue-components解决命名冲突

本文介绍了如何在Vue3项目中使用unplugin-vue-components插件实现自定义组件的按需引入,包括解决同名文件冲突的方法,以及如何管理components.d.ts文件的生成和路径前缀设置。
摘要由CSDN通过智能技术生成

我们在vue项目中通常会利用unplugin-vue-components插件进行自定义组件的自动引入

注:如果不知道怎么配置unplugin-vue-components插件,欢迎看我整理的这篇:

vue3项目配置按需自动引入自定义组件unplugin-vue-components

当出现同名文件时,该怎么解决呢?

非常简单,只需要多一项属性配置directoryAsNamespace为true即可

在引用时,需要增加路径名作为前缀,以components下的路径为起点

将会自动生成components.d.ts文件,

当新增vue文件时,components.d.ts会自动生成相应的声明,但是,当你修改或者删除文件,人家可就不负责修改或删除文件对应的记录了,原有记录依旧会被保留。

如果不想生成components.d.ts文件,需要设置属性【dts】为【false】,

注:vue+ts项目,dts属性默认为true,因此在你不留意时,它就自动生成啦。

具体怎么用,只需要记住2点:

1同名加路径前缀,不同名也要加路径前缀

2多级目录,就加多级路径前缀

下图这个例子,我用不同颜色区分了同名不同名多级目录这几种情况,看一下,你应该就理解啦

大概就是这样啦,至于到底要不要设置directoryAsNamespace为true,就看你个人习惯啦

false时,就要多花点脑细胞想名字

true时,就需要引用时多敲点代码

如果有任何,欢迎友友们评论区留言……

unplugin-vue-components和unplugin-auto-import是两个插件,用于在整合element-plus时进行自动导入模块和引用。你可以通过npm安装这两个插件,命令为npm install -D unplugin-vue-components unplugin-auto-import。 unplugin-vue-components是一个用于Vite、Webpack、Rollup和esbuild的插件,它可以按需自动导入API,并且支持TypeScript。 unplugin-auto-import也是一个用于Vite、Webpack、Rollup和esbuild的插件,它可以自动导入所需的模块。 在使用这两个插件时,你需要在vite.config.ts文件中进行一些修改。比如,你可以按照以下方式导入ElementPlusResolver,并在resolvers中配置它: import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' AutoImport({ imports: ["vue", "vue-router"], resolvers: [ElementPlusResolver()], }) Components({ resolvers: [ElementPlusResolver()], }) 注意,尽管使用了这两个插件进行自动导入,但仍然可能出现eslint报错的情况。这可能是由于eslint配置或其他插件的问题。你可以检查eslint的配置文件以及其他相关插件的设置,以解决这个问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [unplugin-auto-import 和 unplugin-vue-components 的正确使用方式](https://blog.csdn.net/goodcto/article/details/130022782)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [unplugin-auto-import 和 unplugin-vue-components](https://blog.csdn.net/Android062005/article/details/128684495)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟茜

随多随少随你心意^-^

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值