vue-cli項目打包需要修改的路徑問題
vue 打包生成配置文件,方便外部修改公共路徑,不用每次都進行打包部署
vue打包後改變路徑的問題
-
命令行輸入:npm run build
打包出來後項目中就會多了一個文件夾dist,這就是我們打包過後的項目。
第一個問題,文件引用路徑。我們直接運行打包後的文件夾中的index.html文件,會看到網頁一片空白,f12調試,全是css,js路徑引用錯誤的問題。
解決:到config文件夾中打開index.js文件。
文件裏面有兩個assetsPublicPath屬性,更改第一個,也就是更改build裏面的assetsPublicPath屬性:
assetsPublicPath屬性作用是指定編譯發佈的根目錄,‘/’指的是項目的根目錄 ,’./’指的是當前目錄。
改好之後重新打包項目,運行index.html文件,我們可以看到沒有報錯了。但是router-view裏面的內容卻出不來了。
第二個問題:router-view中的內容顯示不出來。路由history模式。
這個坑是當你使用了路由之後,在沒有後端配合的情況下就手賤打開路由history模式的時候,打包出來的文件也會是一片空白的情況,
很多人踩這個坑的時候花了很多時間,網上的教程基本上都是說的第一個坑,這個坑很少有人提起。
解決:// mode: ‘history’,//將這個模式關閉就好
這裏並不是說不能打開這個模式,這個模式需要後端設置的配合,詳情可以看:路由文檔
第三個問題 就是背景圖片引用資源錯誤
此時通過img標籤引入的圖片顯示正常,是因爲img爲html標籤,他的路徑是由index.html開始訪問的,他走static/img/'圖片名’是能正確訪問到圖片的
但是app.css訪問static/img/'圖片名’是訪問錯誤的,因爲在css目錄下並沒有static目錄。所以此時需要先回退兩層到根節點處纔可以正確獲取到圖片。
具體辦法是:
打開build/utils.js,在圖中相應位置加入紅框內容,其中值可能會有不同,若不同,自己配置成相應的即可。