vue3中超好用的插件整理
1.Api 自動導(dǎo)入
unplugin-auto-import
自動引入 composition api
,不需要再手動引入。(npm 地址)
- 下載
npm i -D unplugin-auto-import
- 配置
vite.config.ts
import AutoImport from "unplugin-auto-import/vite"; export default defineConfig({ plugins: [ vue(), AutoImport({ /* options */ imports: ["vue"], dts: "src/auto-import.d.ts", }), ], });
全部配置
AutoImport({ // 在哪些文件里可以直接引入 include: [ /\.[tj]sx?$/, // .ts, .tsx, .js, .jsx /\.vue$/, /\.vue\?vue/, // .vue /\.md$/, // .md ], // 自動引入哪些包 imports: [ // 自動引入整個(gè)模塊 "vue", "vue-router", // 自定義模塊引入,比如只需要自動引入某個(gè)東西,給引入的模塊起別名 { "@vueuse/core": [ // 按需導(dǎo)出的模塊 "useMouse", // import { useMouse } from '@vueuse/core', // 導(dǎo)出別名 ["useFetch", "useMyFetch"], // import { useFetch as useMyFetch } from '@vueuse/core', ], axios: [ // 默認(rèn)導(dǎo)出 ["default", "axios"], // import { default as axios } from 'axios', ], }, ], // 聲明文件 dts: "./auto-imports.d.ts", resolvers: [ /* ... */ ], // 生成相應(yīng)的.eslintrc-auto-import.json文件。 // eslint globals文檔 - https://eslint.org/docs/user-guide/configuring/language-options#specifying-globals eslintrc: { enabled: false, // Default `false` filepath: './.eslintrc-auto-import.json', // Default `./.eslintrc-auto-import.json` globalsPropValue: true, // Default `true`, (true | false | 'readonly' | 'readable' | 'writable' | 'writeable') }, }),
聲明文件 auto-imports.d.js
時(shí)自動生成的,可以去看看文件內(nèi)容,里面會標(biāo)明自動引入了哪些東西
2.setup name 增強(qiáng) vite-plugin-vue-setup-extend
在使用 Vue3.2 的 setup 語法糖后,無法優(yōu)雅的定義組件的 name 值,雖然 vite 會根據(jù)組件的文件名自動生成組件名,但是需要自定義的組件名時(shí),就很不方便。
解決這個(gè)問題通常是通過寫兩個(gè) script 標(biāo)簽來解決,一個(gè)使用 setup,一個(gè)不使用,但這樣必然是不夠優(yōu)雅的。
安裝vite-plugin-vue-setup-extend
插件可以優(yōu)雅的解決這個(gè)問題
- 安裝
npm i vite-plugin-vue-setup-extend -D
- 配置 vite.config.ts
import { defineConfig } from "vite"; import VueSetupExtend from "vite-plugin-vue-setup-extend"; export default defineConfig({ plugins: [VueSetupExtend()], });
- 使用
<script lang="ts" setup name="demo"></script>
在使用 vite-plugin-vue-setup-extend 0.4.0
及以前版本時(shí),會有個(gè)問題:如果 script 標(biāo)簽內(nèi)沒有內(nèi)容,即使給 script 標(biāo)簽添加上 name 屬性,其在 vue-devtools
內(nèi)也不會生效。
解決:不要讓 script 標(biāo)簽內(nèi)空著,例如:加行注釋。
<script lang="ts" setup name="demo"> // test </script>
3.自動導(dǎo)入圖片
爽歸爽,但容易發(fā)生變量沖突,慎用!
自動導(dǎo)入圖像,同級目錄的文件名不能重復(fù)?。?a rel="external nofollow" target="_blank">官網(wǎng)地址)
- 安裝
npm i vite-plugin-vue-images -D
- 配置 vite.config.ts
import { defineConfig } from "vite"; import ViteImages from "vite-plugin-vue-images"; export default { plugins: [ Vue(), ViteImages({ dirs: ["src/assets"], // 圖像目錄的相對路徑 extensions: ["jpg", "jpeg", "png", "svg", "webp"], // 有效的圖像擴(kuò)展 customResolvers: [], // 覆蓋名稱->圖像路徑解析的默認(rèn)行為 customSearchRegex: "([a-zA-Z0-9]+)", // 重寫搜索要替換的變量的Regex。 }), ], };
- 使用
<template> <img :src="Image1" /> </template> <script setup lang="ts"></script>
插件將轉(zhuǎn)換為:
<template> <img :src="Image1" /> </template> <script setup lang="ts"> import Image1 from "@/assets/Image1.png"; </script>
4.組件自動按需導(dǎo)入
- 安裝
npm i unplugin-vue-components -D
- 配置 vite.config.ts
import { defineConfig } from 'vite' import Components from 'unplugin-vue-components/vite' // 按需加載自定義組件 // ui庫解析器,也可以自定義,需要安裝相關(guān)UI庫,unplugin-vue-components/resolvers // 提供了以下集中解析器,使用的時(shí)候,需要安裝對應(yīng)的UI庫,這里以AntDesign示例 // 注釋的是包含的其他一些常用組件庫,供參考 import { // ElementPlusResolver, AntDesignVueResolver, // VantResolver, // HeadlessUiResolver, // ElementUiResolver } from 'unplugin-vue-components/resolvers' export default defineConfig({ plugins: [ // 按需引入 Components({ dts: true, dirs: ['src/components'], // 按需加載的文件夾 extensions: ['vue', 'jsx'], // 文件類型 // ui庫解析器,也可以自定義,需要安裝相關(guān)UI庫 resolvers: [ // VantResolver(), // ElementPlusResolver(), // AntDesignVueResolver(), // HeadlessUiResolver(), // ElementUiResolver() AntDesignVueResolver({ // 參數(shù)配置可參考:https://github.com/antfu/unplugin-vue-components/blob/main/src/core/resolvers/antdv.ts // 自動引入 ant-design/icons-vue中的圖標(biāo),需要安裝@ant-design/icons-vue resolveIcons: true, }), ], }), ], })
總結(jié)
到此這篇關(guān)于vue3中超好用的插件整理的文章就介紹到這了,更多相關(guān)vue3插件整理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue實(shí)現(xiàn)點(diǎn)擊按鈕“查看詳情”彈窗展示詳情列表操作
這篇文章主要介紹了vue實(shí)現(xiàn)點(diǎn)擊按鈕“查看詳情”彈窗展示詳情列表操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09Vue?keep-alive的實(shí)現(xiàn)原理分析
這篇文章主要介紹了Vue?keep-alive的實(shí)現(xiàn)原理分析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04