vue3中unplugin-auto-import自動引入示例代碼
vue3日常項目中定義變量需要引入ref,reactive等等比較麻煩,可以通過unplugin-auto-import給我們自動引入
1、安裝
npm i -D unplugin-auto-import
2、在vite.config.ts中引入
import AutoImport from 'unplugin-auto-import/vite'
并在plugins中配置:
export default defineConfig({ plugins: [ ...... AutoImport({ imports: ['vue'], dts: 'src/auto-import.d.ts', }) ] })
AutoImport中可以有很多配置項,可以到github中看詳細配置:
GitHub - antfu/unplugin-auto-import: Auto import APIs on-demand for Vite, Webpack and Rollup
注:dts是幫我們生成的類型聲明文件,直接使用會找不到
上面配置完畢后會在src目錄下生成一個auto-import.d.ts文件,里面幫我們自動引入vue相關(guān)內(nèi)容,我們可以在項目中直接使用。
注意:上面配置完畢dts后可能并不會自動生成auto-import.d.ts文件,可以重新運行一下項目,或者關(guān)閉編輯器重新打開運行即可。
使用如下:
<script setup lang="ts"> // 這里我們不用引入ref直接使用 const msg = ref<string>('Hello Vue3') </script> <template> {{ msg }} </template> <style scoped lang="scss"></style>
補充:unplugin-auto-import自動導(dǎo)入TS2304警告問題
1.前置配置
通過vite.config.js
配置自動導(dǎo)入API
export default defineConfig({ plugins: [ vue(), AutoImport({ resolvers: [ElementPlusResolver()], imports: ['vue', 'vue-router', 'pinia'], eslintrc: { enabled: false, filepath: './.eslintrc-auto-import.json', globalsPropValue: true, }, }) ] })
生成文件:auto-imports.d.ts
2. TS2304
此時代碼中編寫時會遇到TS的警告。Cannot find name 'ref'.ts(2304)
3.解決方案
ts.config.json文件引入聲明文件: include中引入auto-imports.d.ts
{ "compilerOptions": { "target": "esnext", "useDefineForClassFields": true, "module": "esnext", "moduleResolution": "node", "strict": true, "jsx": "preserve", "sourceMap": true, "resolveJsonModule": true, "esModuleInterop": true, "lib": ["esnext", "dom"] }, "include": [ "src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue", "auto-imports.d.ts" // 此處引入該聲明文件 ], "references": [{ "path": "./tsconfig.node.json" }] }
總結(jié)
到此這篇關(guān)于vue3中unplugin-auto-import自動引入的文章就介紹到這了,更多相關(guān)vue3的unplugin-auto-import自動引入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
談?wù)勔騐ue.js引發(fā)關(guān)于getter和setter的思考
最近因為公司的新項目決定使用Vue.js來做,但在使用的過程中發(fā)現(xiàn)了一個有趣的事情,因為發(fā)現(xiàn)的這個事情展開了一些對于getter和setter的思考,具體是什么下面通過這篇文章來一起看看吧,有需要的朋友們可以參考學(xué)習(xí)。2016-12-12vue+vuex+axios實現(xiàn)登錄、注冊頁權(quán)限攔截
下面小編就為大家分享一篇vue+vuex+axios實現(xiàn)登錄、注冊頁權(quán)限攔截,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03vue實現(xiàn)多組關(guān)鍵詞對應(yīng)高亮顯示功能
最近小編遇到這樣的問題,多組關(guān)鍵詞,這里實現(xiàn)了關(guān)鍵詞的背景色與匹配值的字體顏色值相同,下面通過定義關(guān)鍵詞匹配改變字體顏色,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2019-07-07Element樹形控件el-tree懶加載并設(shè)置默認展開和選中的效果
本文主要介紹了Element樹形控件el-tree懶加載并設(shè)置默認展開和選中的效果,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01Vue開發(fā)之watch監(jiān)聽數(shù)組、對象、變量操作分析
這篇文章主要介紹了Vue開發(fā)之watch監(jiān)聽數(shù)組、對象、變量操作,結(jié)合實例形式分析了vue.js使用Watch針對數(shù)組、對象、變量監(jiān)聽相關(guān)操作技巧,需要的朋友可以參考下2019-04-04webpack+vue+express(hot)熱啟動調(diào)試簡單配置方法
今天小編就為大家分享一篇webpack+vue + express (hot) 熱啟動調(diào)試簡單配置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09