vue3中vite的@路徑別名與path中resolve實例詳解
使用@路徑引用
在vue3中,想用@符號代替./…/這種相對路徑引用使用,前者相當(dāng)于從根目錄往后找,后者相當(dāng)于從后往前找。
具體方法就是在vite.config.js中
import { resolve } from "path"
export default defineConfig({
plugins: [vue()],
resolve: {
// ↓路徑別名,主要是這部分
alias: {
"@": resolve(__dirname, "./src")
}
}
})
vite中關(guān)于這個的相關(guān)配置說明在這里
https://cn.vitejs.dev/config/shared-options.html#resolve-alias
resolve解析
這個resolve是node_modules中的path里面的pash.js提供的一個解析路徑的方法,他總是返回一個以相對于當(dāng)前的工作目錄的絕對路徑。
官網(wǎng)提供的例子
var path = require("path") //引入node的path模塊
path.resolve('/foo/bar', './baz') // returns '/foo/bar/baz'
path.resolve('/foo/bar', 'baz') // returns '/foo/bar/baz'
path.resolve('/foo/bar', '/baz') // returns '/baz'
path.resolve('/foo/bar', '../baz') // returns '/foo/baz'
path.resolve('home','/foo/bar', '../baz') // returns '/foo/baz'
path.resolve('home','./foo/bar', '../baz') // returns '當(dāng)前工作目錄/home/foo/baz'
path.resolve('home','foo/bar', '../baz') // returns '當(dāng)前工作目錄/home/foo/baz'
resolve 具體工作方法我的理解就是從后往前先找絕對路徑,如果找到了就以這個路徑為開頭,如果沒有找到絕對路徑,就以當(dāng)前文件所在的工作目錄為開頭。
有了開頭之后,他前面的路徑就都不要了,從他開始往后找路徑,如果是./開頭的或者他自己名字開頭的就把它拼接上來,如果是…/開頭的就把前面的最后一個路徑取消掉,把他拼接上去。
而這個__dirname 在resolve方法中是指向被執(zhí)行 js 文件的絕對路徑,他有個好兄弟叫__filename,區(qū)別說他還要在后面加上當(dāng)前文件。
然后這里的路徑就是絕對路徑來替換@
在這里想說明一下這個roselve方法,你使用上面這個方法的時候,可能會報錯,并且系統(tǒng)會給你一個建議的寫法

import { resolve } from "path"
//他會要求你把上面的寫法改成下面的才可以運行
import pkg from "path"
const { resolve } = pkg;
原因是因為node.js中的導(dǎo)出方式是用的module.exports,并不是exports,他不支持具名導(dǎo)出,他只導(dǎo)出了一個對象,我們在引用的時候不能使用import {} from 的方式,只能先引入這個對象,再取其中的一個方法,可能還有別的辦法可以解決這個問題,筆者還未找到,留待以后學(xué)習(xí)。
總結(jié)
到此這篇關(guān)于vue3中vite的@路徑別名與path中resolve的文章就介紹到這了,更多相關(guān)vue3 vite的@路徑別名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
通過vue提供的keep-alive減少對服務(wù)器的請求次數(shù)
這篇文章主要介紹了通過vue提供的keep-alive減少對服務(wù)器的請求次數(shù),文中給大家補充介紹了vue路由開啟keep-alive時的注意點,需要的朋友可以參考下2018-04-04
ElementUI實現(xiàn)el-table行列合并的操作步驟
在前端開發(fā)中,數(shù)據(jù)展示一直是一個重要的部分,而表格則是數(shù)據(jù)展示最常見的形式之一,ElementUI 是餓了么前端團隊推出的一款基于 Vue 的 UI 組件庫,其中的 el-table 組件是一個功能強大且靈活的表格組件,今天我們要詳細探討的是 el-table 的行列合并操作2024-08-08
vue for循環(huán)出來的數(shù)據(jù)實現(xiàn)用逗號隔開
HTML(HyperText Markup Language)是用于創(chuàng)建網(wǎng)頁的標(biāo)準(zhǔn)標(biāo)記語言,正確的HTML編碼和結(jié)構(gòu)對于網(wǎng)頁的正確顯示至關(guān)重要,當(dāng)HTML代碼正確無誤時,網(wǎng)頁的效果圖將與設(shè)計師的預(yù)期相符,反之則可能出現(xiàn)布局錯亂、樣式失效等問題2024-10-10
Vue3?在<script?setup>里設(shè)置組件name屬性的方法
這篇文章主要介紹了Vue3?在<script?setup>里設(shè)置組件name屬性的方法,本文通過示例代碼給大家介紹的非常詳細,需要的朋友參考下吧2023-11-11
element的el-tree多選樹(復(fù)選框)父子節(jié)點關(guān)聯(lián)不關(guān)聯(lián)
最近想要實現(xiàn)多選框關(guān)聯(lián)的功能,但是卻出現(xiàn)了element的el-tree多選樹(復(fù)選框)父子節(jié)點關(guān)聯(lián)不關(guān)聯(lián)的問題,本文就來介紹一下解決方法,一起來了解一下2021-05-05

