您好,登錄后才能下訂單哦!
Vue項目運行npm run build后會生成一個dist文件夾,我們一般都是把這個文件夾部署到服務器上。dist文件夾里邊有一個static文件和一個index.html頁面,這個index就是最后單頁面的最終文件。
問題一:我在打包完成后,打開index.html文件發現地址并沒有攜帶路由。
這樣的話頁面就是空白了,因為沒有組件被添加到頁面中。打開F12會看到一堆的紅色failed請求。打開請求地址是這樣的。
進入D盤就開始尋找static文件夾當然是找不到的。既然知道了是打包之后尋找文件的地址錯誤,就去config文件夾下的index.js中尋找問題。index.js中的build命令的配置有一個屬性叫assetsPublicPath,它的值為‘/'。意思是根目錄,這時會從index.html所在的硬盤的根目錄下開始查找,自然無法找到。解決辦法:
改為‘./'這時就不再是絕對路徑的根目錄了,而是改為了相對路徑,同目錄下進行查找。再次打包,頁面基本正常。
問題二:我再次打包后,頁面可以正常打開。但是頁面上的一些圖片請求失敗。
我這里請求失敗的都是背景圖片,而且只是某一些失敗。我一直有一個疑惑就是為什么同一個css文件中的背景圖片請求有的成功有的失敗,要知道我的圖片都是放在同一個文件夾下邊的。目前這個疑惑還沒有解決。
打開某一個失敗的請求,我們會發現請求的路徑是這樣的。
也就是說這個css文件是從當前文件夾下往里尋找static/img/XXX.png,要知道static文件夾是在dist根目錄下邊的,因此,我們需要修改build的全局配置,改變css文件的文件請求路徑。css文件在static里邊的css文件夾中,因此需要先‘../../'出到dist根目錄下,然后再static/img/XXX.png,就可以正確找到對應的圖片文件。
解決辦法:
修改build文件夾下邊的utils.js文件。
再文件相同的if語句下添加下圖中選中的代碼。
重新打包,即可解決圖片找不到的問題。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。