<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在做vue3專案中時,每次使用都需要先進行引入,用ts的還好,會有爆紅提示,如果是使用js開發的很多時候都會等到編譯的時候才發現哪里哪里又沒有引入,就會很浪費時間,偶然發現一款好用的元件可以幫助我們很好的解決這種問題。
首先下載
yarn add unplugin-auto-import -D
在vite.config.ts中
因為是外掛 所以在我們的plugins下 寫入我們匯入的名字
在我們的 AutoImport 下第一個屬性 imports 代表著的就是我們那些檔案需要自動匯入
我們這裡就寫了vue vue-router pinia 在專案中使用的時候就可以不用我們手動匯入直接使用了
這裡注意我們的imports 是一個陣列
第二個屬性就是我們的dts
dts為true就代表著會自動生成一個ts檔案可以檢視匯入的資訊。
這裡include是可以匹配對應的檔案
是一個陣列裡面寫匹配的正則
在引入的時候需要引入unplugin-auto-import下的vite
import AutoImport from 'unplugin-auto-import/vite' plugins: [vue(),Vuejsx(), AutoImport({ include: [ /.[tj]sx?$/, /.vue$/, /.vue?vue/, ], dts: true, imports: ['vue', 'vue-router', 'pinia'] })]
然後在頁面使用
會發現爆紅,這裡是因為在當前頁面沒有參照導致,(這就是這個元件使用ts的缺陷還沒找到解決辦法)不用管它 直接執行專案
執行不會有報錯
發現會在src同級目錄下自動生成一個同級檔案 auto-imports.d.ts
開啟會發現裡面有我們各種的匯入
到這裡我們的引入就完成了。
yarn add unplugin-vue-components -D
下載ant-design測試
npm i --save ant-design-vue
在vite.config.ts中引入
import Components from 'unplugin-vue-components/vite'
在引入import { } from 'unplugin-vue-components/resolvers' ctry加滑鼠進入resolvers.d.ts
裡面有各大主流元件庫的名字 找到我們需要引入的元件庫 ant -design(需要設定其他的元件庫可找對應元件庫名)
找到並引入 AntDesignVueResolver
import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'
首先也需要在plugins中引入我們定義的名字 Components
是一個物件
第一個引數跟上面一樣設定為true也是會自動生成一個d.ts的檔案
第二個引數就是dirs就是設定你的目錄,你可以設定src,或者src/componets或者你需要設定的地方的元件讓他自動匯入,其他的元件不管
擴充套件屬性
['vue', 'jsx', 'tsx', 'ts', 'js'],
最後這個resolvers就是我們的包自動匯入
將我們上面引入的AntDesignVueResolver導進來進行設定
resolvers: [
AntDesignVueResolver({
})
]
Components({ dts: true, dirs: ['src/components'], extensions: ['vue', 'jsx', 'tsx', 'ts', 'js'], resolvers: [ AntDesignVueResolver({ }) ] })
importStyle
就是AntDesignVueResolver第一個引數 可以設定我們的less前處理器
importLess
需要 設定為true開啟
這裡的操作設定就相當於引入的包以less的方式匯入,
這裡支援less 就需要將less也在專案中設定
yarn add less less-loader -D
在preprocessorOptions中設定less,因為是主要講自動安裝,這裡設定就不詳細講了
css: { // https://cn.vitejs.dev/config/#css-preprocessoroptions preprocessorOptions: { less: { modifyVars: { // 此處也可設定直角、邊框色、字型大小等 'primary-color': '#27ba9b' }, javascriptEnabled: true, lessOptions: { javascriptEnabled: true }, }, }, },
在app.vue中匯入一個button
<script setup lang="ts"> const msg = ref<string>(""); </script> <template> <input type="text" v-model="msg" /> {{ msg }} <a-button type="primary">Primary Button</a-button> </template>
執行
自動生成components.d.ts檔案
裡面就是元件幫助我們自動建立的,這裡建立的子元件也不需要引入即可使用
可以發現我們的HellowWord沒有引入也可以在頁面中使用,就是因為在components.d.ts中已經自動匯入了。
看到這裡有沒有馬上在專案中使用的想法呢?
好啦,到這裡我們的Vue3自動引入元件,元件庫就完成了。
最後附上完整程式碼
import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import Vuejsx from '@vitejs/plugin-vue-jsx' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers' // https://vitejs.dev/config/ export default defineConfig({ server:{ open:true, port:8080, host:'localhost', headers: { 'Access-Control-Allow-Origin':'*', }, // 設定代理 }, css: { // https://cn.vitejs.dev/config/#css-preprocessoroptions preprocessorOptions: { less: { modifyVars: { // 此處也可設定直角、邊框色、字型大小等 'primary-color': '#27ba9b' }, javascriptEnabled: true, lessOptions: { javascriptEnabled: true }, }, }, }, plugins: [vue(),Vuejsx(), AutoImport({ include: [ /.[tj]sx?$/, /.vue$/, /.vue?vue/, ], dts: true, imports: ['vue', 'vue-router', 'pinia'] }), Components({ dts: true, dirs: ['src/components'], extensions: ['vue', 'jsx', 'tsx', 'ts', 'js'], resolvers: [ AntDesignVueResolver({ importStyle: 'less', importLess: true }) ] })] })
到此這篇關於Vue3自動引入元件與元件庫的文章就介紹到這了,更多相關Vue3自動引入元件 元件庫內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45