1、問題描述
在項目開發中,當我們通過npm run build打包之后將文件放在服務器上時通常會出現圖片失效問題,控制臺中提示某個圖片沒有找到(404錯誤),這些圖片可以是以src引入的圖片, 也可以是css中定義的背景圖片。圖片能否顯示與你的靜態資源文件存在位置和引入的路徑直接相關,下面是我的其中一個項目的文件存放以及路徑書寫方式!
2、解決方法之一
靜態資源static存放位置放在src目錄下
你可能會問為什么放在src目錄下?放在跟src同級目錄下不可以嗎?好吧,一開始我也是放在src同級目錄下,但是在某個css文件中引入背景圖片的時候打包之后圖片失效,我是這樣引入的
實踐證明這個寫法是錯誤的,這個會在你打包的時候直接抱一大堆錯(如css-loader錯誤),連項目都跑不起來。
于是我用下面的寫法:
這種寫法也是不可以的,原因是你的靜態資源文件static不在src目錄,而在vue中src目錄是相對根目錄是src目錄,所以如果你想用上面的寫法,必須要把static放在src目錄下。如上面圖一圖二
注意:不能把static/images/user.png寫成 /static/images/user.png,否則圖片還是失效。
以上是關于文件存放位置以及css中引入圖片問題,如果是通過img標簽引入圖片的話,相對簡單,直接寫絕對地址就行了,并且靜態資源static文件夾的位置可以在src里面,也可以放在與src同級下,但是為了不出現上面情況,放在src里面即可!
img引入圖片:
以上是一種解決圖片失效問題的方法,當然,如果非要把static靜態資源目錄放在與src同級目錄下,也是有解決方法,例如通過導入圖片的方式(本人未實踐),可以自行嘗試!
這篇解決vue打包之后靜態資源圖片失效的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com