Vite配置路徑別名的簡(jiǎn)單實(shí)現(xiàn)方法
1. 項(xiàng)目說明
主技術(shù)棧:
Vite + Vue3 + TypeScript
項(xiàng)目中版本情況:
"Vite": "3.0.0" "Vue": "3.2.37" "Ts": "4.6.4"
出現(xiàn)問題:
在配置完Vite后,正常開發(fā)沒問題,但是Ts類型檢查報(bào)錯(cuò):
找不到模塊"/xxx/xxx/xxx"或其相應(yīng)的類型聲明
2. 解決方法
首先要配置Vite,根據(jù)官方文檔中的給出的類型說明:
Record<string, string> | Array<{ find: string | RegExp, replacement: string }>
由此可知:我們可以配置alias為一個(gè)對(duì)象,或一個(gè) { find, replacement } 的數(shù)組
具體配置:
在根目錄中的 vite.config.ts 中加入如下配置:(以下是我個(gè)人項(xiàng)目配置)
import { resolve } from "path"; // 導(dǎo)入 path 模塊,幫助我們解析路徑 export default defineConfig({ resolve: { // 這里配置需要注意:Vite新版本resolve配置改為對(duì)象形式,如下: alias: [ { find: '@', replacement: resolve(__dirname, "src"), }, { find: 'comps', replacement: resolve(__dirname, "src/components"), }, { find: 'apis', replacement: resolve(__dirname, "src/apis"), }, { find: 'views', replacement: resolve(__dirname, "src/views"), }, { find: 'routes', replacement: resolve(__dirname, "src/router"), }, { find: 'store', replacement: resolve(__dirname, "src/store"), }, { find: 'utils', replacement: resolve(__dirname, "src/utils"), }, { find: 'styles', replacement: resolve(__dirname, "src/styles"), }, { find: 'layout', replacement: resolve(__dirname, "src/Layout"), }, { find: 'models', replacement: resolve(__dirname, "src/models"), }, { find: 'hooks', replacement: resolve(__dirname, 'src/hooks') } ], } })
這樣配置完成后,項(xiàng)目中可以正常使用,但是Ts類型檢查會(huì)提示錯(cuò)誤,接著,配置根目錄下的 ts.config.json 文件:(這里還是我個(gè)人的配置,分別對(duì)應(yīng)Vite中配置好的別名)
注意:主要配置 baseUrl 和 paths 兩個(gè)配置項(xiàng)即可,其他選項(xiàng)是初始化項(xiàng)目自動(dòng)生成的
{ "compilerOptions": { "target": "ESNext", "useDefineForClassFields": true, "module": "ESNext", "moduleResolution": "Node", "strict": true, "jsx": "preserve", "sourceMap": true, "resolveJsonModule": true, "isolatedModules": true, "esModuleInterop": true, "lib": ["ESNext", "DOM"], "skipLibCheck": true, "baseUrl": "./", "paths": { "@/*":["src/*"], "comps/*": ["src/components/*"], "apis/*": ["src/apis/*"], "views/*": ["src/views/*"], "routes/*": ["src/router/*"], "store/*": ["src/store/*"], "utils/*": ["src/utils/*"], "styles/*": ["src/styles/*"], "layout/*": ["src/Layout/*"], "models/*": ["src/models/*"], "hooks/*": ["src/hooks/*"] } }, "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], "references": [{ "path": "./tsconfig.node.json" }] }
配置完成后,Ts類型檢查就不會(huì)報(bào)錯(cuò)了。(反應(yīng)慢的重啟一下VsCode)
總結(jié)
到此這篇關(guān)于Vite配置路徑別名的簡(jiǎn)單實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)Vite配置路徑別名內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue監(jiān)聽數(shù)據(jù)對(duì)象變化源碼
這篇文章主要為大家詳細(xì)介紹了Vue監(jiān)聽數(shù)據(jù)對(duì)象變化的源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03vue3+ts+Vuex中使用websocket協(xié)議方式
這篇文章主要介紹了vue3+ts+Vuex中使用websocket協(xié)議方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10vue.js中使用微信掃一掃解決invalid signature問題(完美解決)
這篇文章主要介紹了vue.js中使用微信掃一掃解決invalid signature問題(推薦),本文通過實(shí)例代碼給出解決方法,代碼簡(jiǎn)單易懂非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04vue中利用mqtt服務(wù)端實(shí)現(xiàn)即時(shí)通訊的步驟記錄
前些日子了解到mqtt這樣一個(gè)協(xié)議,可以在web上達(dá)到即時(shí)通訊的效果,所以下面這篇文章主要給大家介紹了關(guān)于vue中如何利用mqtt服務(wù)端實(shí)現(xiàn)即時(shí)通訊的相關(guān)資料,需要的朋友可以參考下2021-07-07Vue中的無限加載vue-infinite-loading的方法
本篇文章主要介紹了Vue中的無限加載vue-infinite-loading的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04Vue金融數(shù)字格式化(并保留小數(shù))數(shù)字滾動(dòng)效果實(shí)現(xiàn)
這篇文章主要介紹了Vue金融數(shù)字格式化(并保留小數(shù)) 數(shù)字滾動(dòng)效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04vue?el-table中使用el-select選中后無效的解決
這篇文章主要介紹了vue?el-table中使用el-select選中后無效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08