当前位置:   article > 正文

element plus按需引入后,手动全局注册会重复注册_unplugin-vue-components 命名重复组件

unplugin-vue-components 命名重复组件

unplugin-vue-components插件会自动引入并注册src/components文件下所有的组件(不管是否使用),修改unplugin-vue-components配置项即可解决

将深度匹配关闭

 再将全局组件目录往里套一层

全部代码 

  1. import { defineConfig } from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. // const path = require('path')
  4. import * as path from 'path'
  5. // element-plus按需引入 --------------------------------------------------------------------------
  6. import AutoImport from 'unplugin-auto-import/vite'
  7. import Components from 'unplugin-vue-components/vite'
  8. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' // 配置项地址https://github.com/antfu/unplugin-vue-components#installation
  9. // 全局组件setup中定义组件name的插件 --------------------------------------------------------------
  10. // import DefineOptions from 'unplugin-vue-define-options/vite';
  11. // npm install unplugin-vue-define-options -D
  12. // https://vitejs.dev/config/
  13. export default defineConfig({
  14. plugins: [
  15. vue(),
  16. AutoImport({ // element-plus按需引入
  17. resolvers: [ElementPlusResolver()],
  18. }),
  19. Components({ // 自动按需引入插件
  20. resolvers: [
  21. ElementPlusResolver(),// element-plus按需引入
  22. // 自己写引入规则
  23. // (componentName) => {
  24. // // where `componentName` is always CapitalCase
  25. // if (componentName.startsWith('Van'))
  26. // return { name: componentName.slice(3), from: 'vant' }
  27. // },
  28. ],
  29. // 其它配置项
  30. // relative paths to the directory to search for components.
  31. dirs: ['src/components'],
  32. // valid file extensions for components.
  33. extensions: ['vue'],
  34. // search for subdirectories 是否深度匹配引入
  35. deep: false,
  36. }),
  37. // DefineOptions() // 全局组件setup中定义组件name的插件
  38. ],
  39. resolve: {
  40. // 配置路径别名(还需在tsconfig中配置路径)
  41. alias: {
  42. '@': path.resolve(__dirname, './src'),
  43. 'libs': path.resolve(__dirname, './libs'),
  44. },
  45. },
  46. server: {
  47. port: 3030,
  48. proxy: {
  49. "/vue3admin": { // 拦截以/vue3admin开头的请求
  50. target: 'http://uatapi3.pinnongjt.com', // 实际要访问域名
  51. changeOrigin: true,
  52. rewrite: (path) => {
  53. // 域名重写 当前的baseurl => http://172.16.3.16:3000 会被“静默”代理为 => target(http://uatapi3.pinnongjt.com)
  54. return path.replace(/^\/vue3admin/, '')
  55. }
  56. },
  57. }
  58. }
  59. })

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/119008
推荐阅读
相关标签
  

闽ICP备14008679号