嘍大家好,我是胖達(dá)。本期視頻來(lái)看看路徑相關(guān)的內(nèi)容。我們知道在網(wǎng)頁(yè)中存在很多的圖片,如果把這些圖片和html文檔放在一起,這樣不光不美觀,管理起來(lái)也非常不方便。通常會(huì)新建一個(gè)專門(mén)用來(lái)管理圖像資源的文件夾,當(dāng)需要查找圖像的時(shí)候就會(huì)選擇使用路徑的方式來(lái)指定圖像文件的位置。
路徑的類型又分為兩種,第一種是相對(duì)路徑,第二種是絕對(duì)路徑。今天先來(lái)了解一下相對(duì)路徑。相對(duì)路徑是相對(duì)于當(dāng)前文件的位置來(lái)表示資源,也就是圖片位置的路徑表達(dá)方式。簡(jiǎn)單來(lái)說(shuō)就是圖片相對(duì)于當(dāng)前html文檔的位置。這里把相對(duì)路徑的分類給大家列出來(lái)了,一個(gè)一個(gè)往下看。
·首先是同級(jí)路徑。同級(jí)路徑不需要在html里面寫(xiě)任何符號(hào),只需要將文件名寫(xiě)到html屬性里就可以了。在代碼里看一下,這里有一個(gè)image,點(diǎn)jpg的圖片和html文檔處于同一級(jí),所以在html的屬性里直接寫(xiě)image,點(diǎn)jpg保存一下看看效果。
可以看到現(xiàn)在圖片是正常展示的,同級(jí)路徑下只需要在html屬性里完整填寫(xiě)圖像文件的名稱就可以了。
·再來(lái)看第二個(gè)下級(jí)路徑。當(dāng)圖像文件位于html文件下一集時(shí),需要在html屬性里完整填寫(xiě)同級(jí)文件夾的名稱,然后斜杠寫(xiě)出對(duì)應(yīng)圖片文件的名稱。
→首先打開(kāi)資源文件夾,在這里新增一個(gè)images的文件夾。將image圖片文件復(fù)制一份放到images文件夾里。
→打開(kāi)vscode,新建一個(gè)gtml文檔,這里新增一個(gè)image標(biāo)簽。
→在左側(cè)資源管理器中剛剛新增的images文件夾已經(jīng)顯示出來(lái)了,打開(kāi)以后會(huì)發(fā)現(xiàn)里面有一個(gè)image,點(diǎn)jpg的圖片。把這個(gè)路徑寫(xiě)一下,在src屬性里面寫(xiě)入位于當(dāng)前html文件同級(jí)的images文件夾的名稱,使用符號(hào)斜杠找到image,點(diǎn)gpg,看一下效果。此時(shí)圖片也完整顯示出來(lái)了。
→如果在amager四文件夾里還有一個(gè)amager四文件夾,下級(jí)路徑又該怎么寫(xiě)?在amager文件夾里再新建一個(gè)文件夾,打開(kāi)vscod,在左側(cè)的資源管理器中a major s文件夾下面又新增了一個(gè)a major s文件夾,在這里面又放了一張圖片。
這張圖片應(yīng)該怎樣讓它展示出來(lái)?一起來(lái)看一下。
→首先找到同級(jí)的images文件夾,使用符號(hào)斜杠,此時(shí)vscode會(huì)提供給兩個(gè)選項(xiàng),一個(gè)是imagers文件夾,另一個(gè)是imager.gpg。選擇imagers,imagers文件夾里面的imager.gpg的文件了,保存一下看看效果。
在瀏覽器中這兩張圖片都完美的展現(xiàn)出來(lái)了。
最后來(lái)看一下相對(duì)路徑里面的。上級(jí)路徑使用的符號(hào)是點(diǎn)點(diǎn)杠。上級(jí)路徑又應(yīng)該怎么理解?也就是圖像文件是位于當(dāng)前這個(gè) hd ml文件的上一集。
在練習(xí)文件夾里新增一個(gè)名為 hd ml的文件夾,打開(kāi)vs code,選擇剛剛新增的文件夾,選擇新建文件,這里需要新增一個(gè) hd ml文檔。在當(dāng)前 hd ml文檔中,如果想要調(diào)用上一級(jí)的 image 點(diǎn) j p g 的圖片應(yīng)該怎么做?在 sr c 屬性里面使用點(diǎn)點(diǎn)杠。
這里 vs code提供了上一集路徑中存在的文件,選擇 image 點(diǎn) j p g,在瀏覽器中看下效果,此時(shí)圖片也是正常顯示的。如果hd ml文件藏得更深一些,把當(dāng)前的文件復(fù)制一份,新增一個(gè)hd ml文件夾,將復(fù)制的文檔粘貼一下,打開(kāi)剛剛復(fù)制的文檔,修改sr c屬性里面的值,使用點(diǎn)點(diǎn)杠。
此時(shí)是沒(méi)有找到 amage 點(diǎn) j p g 的文件,這個(gè)時(shí)候就需要重復(fù)剛剛的操作,點(diǎn)點(diǎn)杠就能找到需要到的 amage 點(diǎn) jbg 的文件了,保存一下看看效果。這里可以看到圖片還是正常顯示出來(lái)了。
本期視頻主要了解了相對(duì)路徑的三種分類,一個(gè)是同級(jí)路徑,一個(gè)是下級(jí)路徑,還有一個(gè)是上級(jí)路徑。希望小伙伴們下來(lái)可以好好練習(xí)一下,這對(duì)于后期的內(nèi)容非常重要。下期再來(lái)聊聊絕對(duì)路徑。本期的內(nèi)容到此結(jié)束,感謝觀看,下期再見(jiàn)。
考:https://www.jb51.net/article/163170.htm
vue中靜態(tài)資源的引入機(jī)制
靜態(tài)資源可以通過(guò)兩種方式進(jìn)行處理:
在 JavaScript 被導(dǎo)入或在 template/CSS 中通過(guò)相對(duì)路徑(以 . 開(kāi)頭)被引用。這類引用會(huì)被 webpack 處理。
如 <img src="..."> 、 background: url(...) 和 CSS @import 的資源
例如, url(./image.png) 會(huì)被翻譯為 require('./image.png')
放置在 public 目錄下或通過(guò)絕對(duì)路徑被引用。這類資源將會(huì)直接被拷貝,而不會(huì)經(jīng)過(guò) webpack 的處理,你需要通過(guò)絕對(duì)路徑來(lái)引用它們。如果 URL 是一個(gè)絕對(duì)路徑,例如 /images/foo.png ,它將會(huì)被保留不變。
假設(shè)有這樣一個(gè)目錄:
vue-path/ ----- public/ -------- images/ ------------ XX.jpg ----- src/ -------- assets/ ------------ images/ ---------------- XX.jpg -------- App.vue
一、常見(jiàn)的引入方式,路徑是固定的字符串,圖片會(huì)被webpack處理,文件若丟失會(huì)直接在編譯時(shí)報(bào)錯(cuò),生成的文件包含了哈希值:
<img src="./assets/images/01.jpg" alt="">
編譯后:
好程序員分享html圖片絕對(duì)路徑改相對(duì)路徑,要弄懂相對(duì)路徑修改成絕對(duì)路徑那么必須要知道路徑的基本概念。
html中的路徑:指文件存放的位置,在網(wǎng)頁(yè)中利用路徑可以引用文件,完成:插入圖像、視頻等功能。表示在html中路徑的使用方式有兩種:相對(duì)路徑,絕對(duì)路徑。
1、相對(duì)路徑:
html中的相對(duì)路徑的概念是:指當(dāng)前html頁(yè)面引用的文件 相對(duì)于 當(dāng)前html頁(yè)面文件的路徑,在html網(wǎng)頁(yè)開(kāi)發(fā)過(guò)程中多采用這種方法來(lái)引用我們所想使用的內(nèi)容。
相對(duì)路徑有多種使用的方法,這些方法標(biāo)識(shí)表示的意義也不相同。那么接下來(lái)我們來(lái)看一下是如何使用的。
./ :代表文件所在的目錄(通常情況下可以省略不寫(xiě))
../ :代表文件所在的父級(jí)目錄(也就是上一級(jí)目錄)
../../ :代表文件所在的父級(jí)目錄的父級(jí)目錄(也就是上一級(jí)上一級(jí)目錄)
/ :代表文件所在的根目錄
如:<img src=’images/1.jpg’/>表示此代碼所在html文件的路徑下的images文件夾下的1.jpg文件。
<img src=’../images/1.jpg’/>表示此代碼所在html文件的路徑的上一級(jí)的images文件夾下的1.jpg文件。
2、絕對(duì)地址:
就是直接從磁盤(pán)的位置去定位文件的地址。類似于我們通過(guò)我的電腦一盤(pán)符的方式來(lái)尋找想要的指定內(nèi)容,或者說(shuō)直接帶著協(xié)議、域名,
3、如何把html圖片絕對(duì)路徑改為相對(duì)路徑
可以使用html當(dāng)中給我們提供的<base/>標(biāo)簽來(lái)完成。<base> 標(biāo)簽為頁(yè)面上的所有路徑的引用設(shè)置了默認(rèn)地址或默認(rèn)目標(biāo)。 通常情況下,瀏覽器會(huì)從當(dāng)前文檔的 URL 中獲取到相應(yīng)的元素來(lái)填寫(xiě)相對(duì)的引用路徑。
首先<base/>標(biāo)簽是一個(gè)單標(biāo)簽,同時(shí)所有的瀏覽器都支持 <base/>這一個(gè)標(biāo)簽標(biāo)簽所以兼容性上大家不用考慮。同時(shí)在使用<base/>標(biāo)簽的時(shí)候必須注意<base/>標(biāo)簽,必須放置到html網(wǎng)頁(yè)的<head></head>標(biāo)簽當(dāng)中,同時(shí)每一個(gè)html頁(yè)面當(dāng)中最多只能有一個(gè)<base/>標(biāo)簽,它的作用也很明顯。就是用來(lái)為html頁(yè)面上的所有路徑引用來(lái)規(guī)定默認(rèn)地址或默認(rèn)目標(biāo),是一種設(shè)置網(wǎng)頁(yè)中引用路徑的標(biāo)記。
剛才我們已經(jīng)在前面提到了 在html中常見(jiàn)的路徑形式有相對(duì)路徑和絕對(duì)路徑,那么在這個(gè)時(shí)候使用了<base/>標(biāo)簽指定了目標(biāo)的話,那么我們的用戶使用的客戶端瀏覽器就會(huì)把這個(gè)內(nèi)容解析成為當(dāng)前html中引用大的所有相對(duì)路徑,同時(shí)包括<a></a>超鏈接標(biāo)簽、<img/>圖片標(biāo)簽、<link>css引用標(biāo)簽、<form></form> 表單標(biāo)簽中的地址。也就是說(shuō),瀏覽器解析的時(shí)候會(huì)在引用的路徑的前面會(huì)自動(dòng)的加上<base/>上面綁定的地址,同時(shí)在這個(gè)時(shí)候頁(yè)面中的相對(duì)路徑也都會(huì)被轉(zhuǎn)換成為絕對(duì)路徑。
使用語(yǔ)法:
<head>
<base href="目標(biāo)路徑" />
</head>
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。