vue.js打包項目後頁面出現空白的解決辦法
相信很多剛剛接觸vue的夥伴會遇到這樣的問題,就是說vue項目在開發環境下一切正常,但是打包之後,打開index.html頁面卻是一片空白,打開控制臺發現這樣的錯誤
出現這種情況要分兩個處理方式(vue-cli2和vue-cli3),先說vue-cli2; 首先找到config/index.js文件,將assetPublicPath的路徑改為“./”即可,
vue-cli3的話要稍微麻煩些,因為vue-cli3簡潔瞭許多,沒有瞭配置文件,所以需要自己創建,隻能在項目的根目錄下創建,並且文件的名字隻能是vue.config.js,然後在這個文件裡面加上下面的代碼即可
module.exports = { assetsDir: 'static', parallel: false, publicPath: './', }
到瞭這步本來就可以瞭,但是有的小夥伴還是沒有顯示出來,那是因為你的路由模式的關系,你把你的路由模式改成“hash”就行瞭,雖然有點醜陋,但是至少功能出來瞭,如果你不想使用“hash”模式,非要用歷史模式的話,本地是不行的,必須要服務器配合,這裡就說下怎麼使用nginx配合vue使用歷史模式
安裝nginx就不說瞭 ,假設你已經安裝好瞭nginx,在server裡面加上
location /aaa {undefined alias D:/bbb/ccc; index index.html index.htm; try_files $uri $uri/ /aaa/index.html; }
其中/aaa是需要訪問的地址, D:/bbb/ccc是你文件真實存放的路徑,index指的就是你的入口文件,你的文件名如果不是index.html的話就替換成你的入口文件的名字,這裡面最重要的是 try_files $uri $uri/ /aaa/index.html 這句話,這句話主要就是用來處理vue的歷史模式的,在配置完nginx後, 還要在項目裡面加點東西, 其實也很簡單, 就在項目的src目錄裡面加上
在config/index.js裡面加上
就可以瞭, 不然的話刷新頁面就會報錯404, 當然這是把項目放在二級路由的情況下, 如果是一級路由的話就可以不用加base這個屬性,
最終效果如下。
這裡就完成瞭vue打包到部署的流程瞭,希望對大傢有些許的幫助吧。
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Nginx解決history模式下頁面刷新404問題示例
- vue-router如何實現history模式配置
- Vue項目打包部署的實戰過程記錄
- Vue前端vue.config.js簡介
- Vue中的項目打包及部署全流程