十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章給大家分享的是有關(guān)vue-cli與webpack結(jié)合怎么處理靜態(tài)資源的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
清河ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
處理靜態(tài)資源
你也許會注意到vue-cli與webpack結(jié)合的項(xiàng)目中,我們通常會有兩個(gè)靜態(tài)資源的路徑:src/assets和static/,他們兩者的區(qū)別是什么呢?
打包的資源
為了回答這個(gè)問題,我們首先要明白Webpack是如何處理靜態(tài)資源的。在*.vue組件里,所有的templates和CSS模塊都被vue-html-loader和css-loader解析來查找路徑URL。
舉個(gè)例子,在和背景background: url(./logo.png),”./logo.png”是一個(gè)相對路徑,會被Webpack當(dāng)做一個(gè)依賴加載。
但是因?yàn)閘ogo.png并不是JavaScript,所以如果被當(dāng)成一個(gè)依賴的花,我們需要通過url-loader和file-loader來解析它。這個(gè)模板已經(jīng)為你配置了相應(yīng)的loader,所以你通常不用擔(dān)心相對路徑的部署問題。
即使這些資源有可能在構(gòu)建過程中被內(nèi)聯(lián)/拷貝/重命名,他們也是源碼重要組成部分。這就是為什么我們建議單獨(dú)在/src文件夾里放置靜態(tài)資源,如同其他的資源文件夾。
事實(shí)上,你都不必把他們?nèi)旁?src/assets,你可以根據(jù)模塊/組件來組織利用他們。比如說,你可以把任一組件放到他們自己的目錄,并在該目錄下存放靜態(tài)資源。
資源引入規(guī)則
相對路徑,比如 ./assets/logo.png會被解析成模塊依賴。它們會被一個(gè)基于你Webpack輸出配置的自動生成URL替代。
沒有前綴的路徑,比如assets/logo.png,同相對路徑,轉(zhuǎn)義成./assets/logo.png
有~前綴的路徑。 ~被認(rèn)為是一個(gè)模塊請求,同require('some-module/image.png')。根路徑,比如/assets/log.png
在JavaScript得到資源路徑
computed: { background () { return require('./bgs/' + this.id + '.jpg') } }
這個(gè)資源路徑同樣會被file-loader處理然后返回處理后的路徑。而且Webpack會一次性加載該bgs目錄下的所有圖片。
“真實(shí)的”靜態(tài)資源
與此相對的,static/中的文件全都不會被Webpack處理。它們將被直接拷貝到目標(biāo)文件夾,引用這些文件需要使用絕對路徑。
感謝各位的閱讀!關(guān)于“vue-cli與webpack結(jié)合怎么處理靜態(tài)資源”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!