您好,登錄后才能下訂單哦!
在工作中,我們經(jīng)常會(huì)寫出這種代碼:
import MHeader from '../../components/m-header/m-header' @import "../../common/stylus/variable" @import "../../common/stylus/mixin"
即,需要引入公共文件,但是公共文件的文件路徑里當(dāng)前文件很遠(yuǎn),那么就會(huì)形成上面示例中的那種路徑很長(zhǎng)的情況。
而因?yàn)槲募夸浭羌s定俗成的,不可輕易更改,無(wú)法修改相對(duì)路徑。那么該怎么辦呢?
大家都知道,Vue中的js可以通過(guò)配置webpack別名(alias)來(lái)避免一長(zhǎng)串的路徑引用,即:
// target import MHeader from 'components/m-header/m-header' //webpack.base.conf.js alias: { '@': resolve('src'), 'common': resolve('src/common'), 'components': resolve('src/components') }
但是,如果直接把這種方法用在css中,則會(huì)報(bào)錯(cuò):
@import "common/stylus/variable" // error @import "common/stylus/mixin" // error
其實(shí),這種方法沒(méi)有錯(cuò),只不過(guò)webpack對(duì)css的處理不同于js。
在js中,webpack對(duì)路徑進(jìn)行處理時(shí),自動(dòng)將沒(méi)有路徑標(biāo)識(shí)(/ ,./,../)的第一個(gè)文件夾名當(dāng)做webpack別名處理。如,第一個(gè)文件夾名為components,那么webpack會(huì)自動(dòng)在alias中搜索有沒(méi)有對(duì)應(yīng)的別名,如果有,則直接替換路徑;沒(méi)有則報(bào)錯(cuò)。
在css中,webpack正常情況下,不會(huì)對(duì)路徑進(jìn)行處理。如果你想讓webpack對(duì)路徑進(jìn)行處理,那么,可以在路徑前標(biāo)識(shí)~,如下:
@import "~common/stylus/variable" @import "~common/stylus/mixin"
相當(dāng)于通過(guò)添加~表示common是webpack別名而不是表示一個(gè)文件夾名。
正確使用webapck別名可以大大縮短引入文件的時(shí)間。
總結(jié)
以上所述是小編給大家介紹的Vue中使用webpack別名的方法實(shí)例詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。