vue使用去掉路由上面的#,打包後請求404或者空白頁

首先我是一個後端,自己寫了點vue的東西,但是啓動發現路由總是多了一個#,藍瘦!!!
百度發現在router/index.js加 mode: ‘history’, 就ok了
在這裏插入圖片描述
網上說他默認是hash模式的,具體區別我百度放下面了
可選值 : ‘hash’ | ‘history’ | ‘abstract’
hash: 使用 URL hash 值來作路由。支持所有瀏覽器,包括不支持 HTML5 History Api 的瀏覽器。
history: 依賴 HTML5 History API 和服務器配置。點擊查看官方HTML5 History 模式說明.
abstract: 支持所有 JavaScript 運行環境,如 Node.js 服務器端。如果發現沒有瀏覽器的 API,路由會自動強制進入這個模式。
開發的時候我發現確實解決了我的問題,沒#號了;

hover,當然有然後,要不然我的博客就不需要寫了…
項目總是要部署的不是,自己寫點東西總是希望可以讓別人看看嘛,已部署發現問題了
請求不到我的頁面了;
網上說需要把 config\index.js 的 assetsPublicPath改成“/”
在這裏插入圖片描述
如果你的靜態資源是直接放在nginx的根文件夾下的話,照理說其實是可以解決的,又去build丟到服務器上去了
但是我的不是我的項目是在0.0.0.0:80/platform下的
在這裏插入圖片描述
在這裏插入圖片描述
所以我剛剛改動的那兩個文件需要加點料了,就是我標紅的地方;
原因:說到底還是路徑問題,/開頭使用的是絕對路徑
我部署之後總算可以訪問到了,但是F5一下之後,整個人又不好了,特喵的,又不行了
百度了很多,最後

在這裏插入圖片描述
加這句話解決了
try_files $uri $uri/ /platform/index.html;

原因:
#$uri爲變量,代表你訪問的地址。
#上面配置的意思大概是,如果訪問platform/文件夾下面的某個文件,找不到時就返回/platform/下面的index.html文件

最後是我個人項目的問題及解決,我不是專業的前端,但是路徑問題其實也不分前後端,只是他的一些配置我還是不太瞭解,希望對你有用.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章