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