解決Vue項目打包后打開index.html頁面顯示空白以及圖片路徑錯誤的問題
Vue項目運行npm run build后會生成一個dist文件夾,我們一般都是把這個文件夾部署到服務器上。dist文件夾里邊有一個static文件和一個index.html頁面,這個index就是最后單頁面的最終文件。
問題一:我在打包完成后,打開index.html文件發(fā)現(xiàn)地址并沒有攜帶路由。
這樣的話頁面就是空白了,因為沒有組件被添加到頁面中。打開F12會看到一堆的紅色failed請求。打開請求地址是這樣的。
進入D盤就開始尋找static文件夾當然是找不到的。既然知道了是打包之后尋找文件的地址錯誤,就去config文件夾下的index.js中尋找問題。index.js中的build命令的配置有一個屬性叫assetsPublicPath,它的值為‘/'。意思是根目錄,這時會從index.html所在的硬盤的根目錄下開始查找,自然無法找到。解決辦法:
改為‘./'這時就不再是絕對路徑的根目錄了,而是改為了相對路徑,同目錄下進行查找。再次打包,頁面基本正常。
問題二:我再次打包后,頁面可以正常打開。但是頁面上的一些圖片請求失敗。
我這里請求失敗的都是背景圖片,而且只是某一些失敗。我一直有一個疑惑就是為什么同一個css文件中的背景圖片請求有的成功有的失敗,要知道我的圖片都是放在同一個文件夾下邊的。目前這個疑惑還沒有解決。
打開某一個失敗的請求,我們會發(fā)現(xiàn)請求的路徑是這樣的。
也就是說這個css文件是從當前文件夾下往里尋找static/img/XXX.png,要知道static文件夾是在dist根目錄下邊的,因此,我們需要修改build的全局配置,改變css文件的文件請求路徑。css文件在static里邊的css文件夾中,因此需要先‘../../'出到dist根目錄下,然后再static/img/XXX.png,就可以正確找到對應的圖片文件。
解決辦法:
修改build文件夾下邊的utils.js文件。
再文件相同的if語句下添加下圖中選中的代碼。
重新打包,即可解決圖片找不到的問題。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
在vue項目中 實現(xiàn)定義全局變量 全局函數(shù)操作
這篇文章主要介紹了在vue項目中 實現(xiàn)定義全局變量 全局函數(shù)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10vue3中ts語法使用element plus分頁組件警告錯誤問題
這篇文章主要介紹了vue3中ts語法使用element plus分頁組件警告錯誤問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04vue中el-date-picker限制選擇7天內&禁止內框選擇
項目中需要選擇時間范圍,并且只能選擇當前日期之后的七天,本文就來介紹了vue中el-date-picker限制選擇7天內&禁止內框選擇,具有一定的參考價值,感興趣的可以了解一下2023-12-12