包之后文件、圖片、背景圖資源不存在或者路徑錯誤的問題
先看下項目的config文件夾下的index.js文件,這個配置選項就好使我們打包后的資源公共路徑,默認(rèn)的值為‘/’,即根路徑,所以打包后的資源路徑為根目錄下的static。
由此問題來了,如果你打包后的資源沒有放在服務(wù)器的根目錄,而是在根目錄下的mobile等文件夾的話,那么打包后的路徑和你代碼中的路徑就會有沖突了,導(dǎo)致資源找不到。
所以,為了解決這個問題,你可以在打包的時候把上面這個路徑由‘/’的根目錄,改為‘./’的相對路徑。
這樣的的話,打包后的圖片啊js等路徑就是‘./static/img/asc.jpg’這樣的相對路徑,這就不管你放在哪里,都不會有錯了。
但是,凡是都有但是~~~~~這里一切正常,但是背景圖的路徑還是不對。因為此時的相對就變成了static/css/文件夾下的static/img/xx.jpg,但是實際上static/css/文件夾下沒有static/img/xx.jpg,即static/css/static/img/xx.jpg是不存在的。此時相對于的當(dāng)前的css文件的路徑。所以為了解決這個問題,要把我們css中的背景圖的加個公共路徑‘../../’,即讓他往上返回兩級到和index.html文件同級的位置,那么此時的相對路徑static/img/xx.jpg就能找到對應(yīng)的資源了。
那么怎么修改背景圖的這個公共路徑呢,因為背景圖是通過loader解析的,所以自然在loader的配置中修改,打開build文件夾下的utils文件,找到exports.cssLoaders的函數(shù),在函數(shù)中找到對應(yīng)下面這些配置:
找到這個位置,添加一上配置,就是上圖紅框內(nèi)的代碼,就可以把它的公共路徑修改為往上返回兩級。這樣再打包看下,就ok了!
嘍大家好,我是胖達(dá)。本期視頻來看看路徑相關(guān)的內(nèi)容。我們知道在網(wǎng)頁中存在很多的圖片,如果把這些圖片和html文檔放在一起,這樣不光不美觀,管理起來也非常不方便。通常會新建一個專門用來管理圖像資源的文件夾,當(dāng)需要查找圖像的時候就會選擇使用路徑的方式來指定圖像文件的位置。
路徑的類型又分為兩種,第一種是相對路徑,第二種是絕對路徑。今天先來了解一下相對路徑。相對路徑是相對于當(dāng)前文件的位置來表示資源,也就是圖片位置的路徑表達(dá)方式。簡單來說就是圖片相對于當(dāng)前html文檔的位置。這里把相對路徑的分類給大家列出來了,一個一個往下看。
·首先是同級路徑。同級路徑不需要在html里面寫任何符號,只需要將文件名寫到html屬性里就可以了。在代碼里看一下,這里有一個image,點(diǎn)jpg的圖片和html文檔處于同一級,所以在html的屬性里直接寫image,點(diǎn)jpg保存一下看看效果。
可以看到現(xiàn)在圖片是正常展示的,同級路徑下只需要在html屬性里完整填寫圖像文件的名稱就可以了。
·再來看第二個下級路徑。當(dāng)圖像文件位于html文件下一集時,需要在html屬性里完整填寫同級文件夾的名稱,然后斜杠寫出對應(yīng)圖片文件的名稱。
→首先打開資源文件夾,在這里新增一個images的文件夾。將image圖片文件復(fù)制一份放到images文件夾里。
→打開vscode,新建一個gtml文檔,這里新增一個image標(biāo)簽。
→在左側(cè)資源管理器中剛剛新增的images文件夾已經(jīng)顯示出來了,打開以后會發(fā)現(xiàn)里面有一個image,點(diǎn)jpg的圖片。把這個路徑寫一下,在src屬性里面寫入位于當(dāng)前html文件同級的images文件夾的名稱,使用符號斜杠找到image,點(diǎn)gpg,看一下效果。此時圖片也完整顯示出來了。
→如果在amager四文件夾里還有一個amager四文件夾,下級路徑又該怎么寫?在amager文件夾里再新建一個文件夾,打開vscod,在左側(cè)的資源管理器中a major s文件夾下面又新增了一個a major s文件夾,在這里面又放了一張圖片。
這張圖片應(yīng)該怎樣讓它展示出來?一起來看一下。
→首先找到同級的images文件夾,使用符號斜杠,此時vscode會提供給兩個選項,一個是imagers文件夾,另一個是imager.gpg。選擇imagers,imagers文件夾里面的imager.gpg的文件了,保存一下看看效果。
在瀏覽器中這兩張圖片都完美的展現(xiàn)出來了。
最后來看一下相對路徑里面的。上級路徑使用的符號是點(diǎn)點(diǎn)杠。上級路徑又應(yīng)該怎么理解?也就是圖像文件是位于當(dāng)前這個 hd ml文件的上一集。
在練習(xí)文件夾里新增一個名為 hd ml的文件夾,打開vs code,選擇剛剛新增的文件夾,選擇新建文件,這里需要新增一個 hd ml文檔。在當(dāng)前 hd ml文檔中,如果想要調(diào)用上一級的 image 點(diǎn) j p g 的圖片應(yīng)該怎么做?在 sr c 屬性里面使用點(diǎn)點(diǎn)杠。
這里 vs code提供了上一集路徑中存在的文件,選擇 image 點(diǎn) j p g,在瀏覽器中看下效果,此時圖片也是正常顯示的。如果hd ml文件藏得更深一些,把當(dāng)前的文件復(fù)制一份,新增一個hd ml文件夾,將復(fù)制的文檔粘貼一下,打開剛剛復(fù)制的文檔,修改sr c屬性里面的值,使用點(diǎn)點(diǎn)杠。
此時是沒有找到 amage 點(diǎn) j p g 的文件,這個時候就需要重復(fù)剛剛的操作,點(diǎn)點(diǎn)杠就能找到需要到的 amage 點(diǎn) jbg 的文件了,保存一下看看效果。這里可以看到圖片還是正常顯示出來了。
本期視頻主要了解了相對路徑的三種分類,一個是同級路徑,一個是下級路徑,還有一個是上級路徑。希望小伙伴們下來可以好好練習(xí)一下,這對于后期的內(nèi)容非常重要。下期再來聊聊絕對路徑。本期的內(nèi)容到此結(jié)束,感謝觀看,下期再見。
eb標(biāo)準(zhǔn):
由于不同瀏覽器解析出來的網(wǎng)頁效果可能不同,所以需要通過web標(biāo)準(zhǔn)對其進(jìn)行約束使其一致,主要包括三個方面:
結(jié)構(gòu)標(biāo)準(zhǔn):
結(jié)構(gòu)用于對網(wǎng)頁元素進(jìn)行整理和分類,主要指的是HTML。
表現(xiàn)標(biāo)準(zhǔn):
表現(xiàn)用于設(shè)置網(wǎng)頁元素的版式、顏色、大小等外觀樣式,主要指的是CSS。
行為標(biāo)準(zhǔn):
行為是指網(wǎng)頁模型的定義及交互的編寫,主要指的是 JavaScript。
初識HTML:
html 全稱 Hyper Text Markup Language ,中文譯為:“超文本標(biāo)記語言” ,描述網(wǎng)頁的一種語言。
HTML發(fā)展:
XHTML 是一個 W3C 標(biāo)準(zhǔn),可擴(kuò)展超文本標(biāo)簽語言(EXtensible HyperText Markup Language),更嚴(yán)格更純凈的 HTML 版本,作為一種 XML 應(yīng)用被重新定義的 HTML。
HTML中的注釋:
<!-- 注釋標(biāo)簽:注釋的內(nèi)容 -->
條件注釋:
條件注釋的作用是:定義只有Internet Explorer才執(zhí)行條件注釋中的html標(biāo)簽。
<!--[if IE 8]>
.... some HTML here ....
<![endif]-->
HTML骨架:
<!DOCTYPE html> <!-- 聲明文檔類型版本為html5 -->
<html lang="en"> <!-- 網(wǎng)頁的跟標(biāo)簽,lang=""用來設(shè)置網(wǎng)頁語言,其值還有zh-CN中文簡體、fr法語等,設(shè)置后當(dāng)系統(tǒng)設(shè)置語言和網(wǎng)頁語言發(fā)生沖突時會提示是否翻譯網(wǎng)頁 -->
<head> <!-- 網(wǎng)頁的頭部 -->
<meta charset='UTF-8'> <!-- 聲明字符編碼,其值還有g(shù)bk和gb2312 -->
<meta name="viewport" content="width=device-width,user-scalable=no,maximum-scale=1.0,minimum-scale=1.0,initial-scale=1.0"> <!-- 開啟移動端視口 -->
<meta name="apple-mobile-web-app-capable" content="yes"> <!-- 開啟ios快捷啟動方式 -->
<meta name="apple-mobile-web-app-status-bar-style" content="black"> <!-- 設(shè)置iOS頂部通欄樣式 -->
<meta name="format-detection" content="telephone=no"> <!-- 遇到數(shù)字不轉(zhuǎn)成電話號碼 -->
<meta http-equiv="X-UA-Compatible" content="ie=edge"> <!-- X-UA-Compatible是針對IE瀏覽器做兼容的,ie=edge表示兼容edge,若后面ie=7,則表示兼容IE7 -->
<meta name='keywords' content='This is a key words'> <!-- 網(wǎng)站搜索關(guān)鍵字 -->
<meta name='description' content='this is description'> <!-- 描述網(wǎng)站的信息 -->
<link rel="shortcut icon" type="image/x-icon" href="圖片路徑 "/> <!-- 網(wǎng)站的圖標(biāo),如果圖標(biāo)是gif圖,則需要改:type="image/gif",引入網(wǎng)站圖標(biāo)另一種方法:命名為favicon.ico文件放到網(wǎng)站根目錄下 -->
<link rel="stylesheet" type="text/css" href="css文件路徑"/> <!-- 引用css文件 -->
<base target="_blank"/> <!-- base標(biāo)簽,定義這個網(wǎng)頁中a鏈接打開窗口的方式,其值還有_self -->
<title>標(biāo)題</title> <!-- 網(wǎng)站的標(biāo)題 -->
<style type="text/CSS"> /* 用來寫CSS代碼,type="text/CSS"可以省略 */
div{width:100px; height:100px; color:white;}
</style>
</head>
<body> <!-- 網(wǎng)頁的主體 -->
<h1>標(biāo)題</h1> <!-- 標(biāo)題標(biāo)簽,共六個級,分別為:h1~h6,大小逐級遞減,h1在一個網(wǎng)頁中只允許出現(xiàn)一次。 -->
<p>段落</p> <!-- 段落標(biāo)簽 -->
<hr/> <!-- 單線標(biāo)簽,所有單標(biāo)簽后面的關(guān)閉符均可以省略 -->
<br/> <!-- 換行標(biāo)簽 -->
</div></div> <!-- 無語義化標(biāo)簽布局用,上面的標(biāo)簽是語義化標(biāo)簽 -->
<span>span</span> <!-- 無語義化標(biāo)簽分割用 -->
<strong>加粗</strong> <!-- 加粗標(biāo)簽 -->
<b>加粗</b> <!-- 加粗標(biāo)簽 -->
<i>傾斜</i> <!-- 傾斜標(biāo)簽 -->
<em>傾斜</em> <!-- 傾斜標(biāo)簽 -->
<s>刪除線</s> <!-- 刪除標(biāo)簽 -->
<del>刪除線</del> <!-- 刪除標(biāo)簽 -->
<u>下劃線</u> <!-- 下劃線標(biāo)簽 -->
<ins>下劃線</ins> <!-- 下劃線標(biāo)簽 -->
<img src="圖片路徑" alt="圖片無法加載,提示文字" title="鼠標(biāo)懸停,提示文體" border="2"/> <!-- 圖像標(biāo)簽,border是邊框?qū)傩裕瑆idth和height屬性設(shè)置圖像的寬度和高度 -->
<a href="跳轉(zhuǎn)目標(biāo)" target="_self">鏈接的命名</a> <!-- 鏈接標(biāo)簽,target屬性為鏈接頁面打開的方式,默認(rèn)值_self為自身打開;_blank為新窗口打開;_new為新窗口打開,相同頁面只會打開一個;_top跳出框架-->
<ul> <!-- 無序列表 -->
<li>列表項1</li>
<li>列表項2</li>
<li>列表項3</li>
</ul>
<ol type="A"> <!-- 有序列表,屬性type可以控制li序號的樣式,其屬性值有:1、A、a、I、i-->
<li>中國</li>
<li>美國</li>
<li>英國</li>
</ol>
<dl> <!-- 自定義列表 -->
<dt>分類1</dt> <!-- 分類名稱 -->
<dd>分類1第1項</dd> <!-- 類的項 -->
<dd>分類1第2項</dd>
<dt>分類2</dt>
<dd>分類2第1項</dd>
<dd>分類2第2項</dd>
</dl>
<table> <!-- 定義表格,table標(biāo)簽實際就是一個四方塊框框,里面有單元格才會顯示出表格的樣子 -->
<caption>信息表</caption> <!-- 表格標(biāo)題 -->
<tr> <!-- 定義行 -->
<th>姓名</th> <!-- 定義表頭,表頭文本有加粗居中效果 -->
<th>年齡</th>
<th>性別</th>
</tr>
<tr> <!-- 定義行 -->
<td>小明</td> <!-- 定義單元格,表格里面沒有列-->
<td>18</td>
<td>男</td>
</tr>
</table>
</body>
</html>
提示:本文圖片等素材來源于網(wǎng)絡(luò),若有侵權(quán),請發(fā)郵件至郵箱:810665436@qq.com聯(lián)系筆者刪除。
筆者:苦海123
其它問題可通過以下方式聯(lián)系本人咨詢:
QQ:810665436
微信:ConstancyMan
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。