vue-router history模式在nginx二級目錄下的配置


當我們運行vue項目時,一切都很美好,但是打包發布到線上時,那是真糟心。

之前有遇到過短信分享的鏈接包含#號不被識別的問題,所以使用過一段時間路由的history模式,但是必須放在域名根目錄下,而且我們的項目還不能使用二級路由,我一度認為確實就是這樣子的,大概就是當時懶癌發作了吧,路由的history模式就是去掉#號,使路徑變得美觀(我叫它玫瑰,漂亮但是帶着刺的危險

history模式傳送門:https://router.vuejs.org/zh/guide/essentials/history-mode.html

1、assetsPublicPath

config/index.js文件中的assetsPublicPath變量我們一向配置為./

這樣無論服務器的nginx配置的是根目錄還是二級三級目錄,我們都是支持的

當使用history模式並且是根目錄的時候,必須使用/才能適配二級路由(如果沒有二級路由./依然可以)

nginx配置如下:(關鍵的一句話是try_files,不管怎么輸入地址都指向index.html)

 

 

  

2、二級目錄

        先配置nginx:

 

 

 

 

        再配置config/index.js文件中的assetsPublicPath

                assetsPublicPath:'/testweb/',

        最后設置路由:

 

 

  

大功告成了,三級菜單如法炮制即可

總結,雖然成功了,除非不得已,我還是不建議使用history,二級或者三級目錄在history模式下必須前后端同時配置,這就是個潛在風險

參考博文:https://segmentfault.com/a/1190000015753352?utm_source=tag-newest

https://www.jianshu.com/p/6653e350121d



作者:kelezxw
鏈接:https://www.jianshu.com/p/79f14f91f9db
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM