Vite按需引入自定義組件unplugin-vue-components

unplugin-vue-components插件可以在Vue文件中自動引入組件(包括項目自身的組件和各種組件庫中的組件);作者是Vite生態(tài)圈大名鼎鼎的Anthony Fu

使用此插件后,不需要手動編寫import { Button } from 'ant-design-vue'這樣的代碼了,插件會自動識別template中使用的自定義組件并自動注冊。

1. 安裝[unplugin-vue-components]

yarn install unplugin-vue-components

2. 在vite中使用

import Components from 'unplugin-vue-components/vite' // 按需加載自定義組件
import { ElementPlusResolver, AntDesignVueResolver} from 'unplugin-vue-components/resolvers'

export default defineConfig {
  // ...
  plugins: [
    // 按需引入
    Components({
      dts: true,
      dirs: ['src/components'], // 按需加載的文件夾
      resolvers: [
          ElementPlusResolver(),
          AntDesignVueResolver({
              // 參數(shù)配置可參考:https://github.com/antfu/unplugin-vue-components/blob/main/src/core/resolvers/antdv.ts
              // 自動引入 ant-design/icons-vue中的圖標,需要安裝@ant-design/icons-vue
              resolveIcons: true,
            })
     ] // ElementPlus按需加載
    })
  ],
  // ...
}

tsconfig.json中配置

配置完成后,運行代碼,會在項目根目錄自動生成一個components.d.ts文件;
需要在tsconfig.json的includes配置中加入此文件

// tsconifg.json
{
    "include": [
        "src/**/*.ts",
        "src/**/*.d.ts",
        "src/**/*.tsx",
        "src/**/*.vue",
        "./auto-imports.d.ts",
        "./components.d.ts"
      ]
}

配置完成后,antd組件和項目中src/components目錄(可以通過dirs配置項修改目錄)下的組件都可以直接使用,無需寫import語句了.


image.png

打包結(jié)果對比

image.png
image.png

從這里可以看出引入插件后vendor.js文件由原來的959KB變?yōu)?71KB,css文件也有明顯的減小,效果非常明顯;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容