vue項目webpack打包部署到tomcat時,訪問成功,但是刷新后頁面報404


問題描述: 使用webpack打包vue后, 將打包好的文件, 發布到tomcat上, 訪問成功,但是刷新該頁面后報404錯誤。

問題根源: 是html5 history模式引發的問題, 具體的原因, 官方那個已經給了解釋,查看 https://router.vuejs.org/zh-cn/essentials/history-mode.html

解決方案:

官方給的解決方案原理:要在服務端增加一個覆蓋所有情況的候選資源,如果url匹配不到任何靜態資源,則返回同一個index.html頁面,這個頁面就是app依賴的頁面。所以在tomcat服務器下操作: 在打包好的項目根目錄(和index.html同一級)下新建一個WEP-INF文件夾, 在此文件夾下寫一個web.xml,內容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
           http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1" metadata-complete="true">
  <display-name>Router for Tomcat</display-name>
  <error-page>
    <error-code>404</error-code>
    <location>/index.html</location>
  </error-page>
</web-app>

 這樣的目的是一旦頁面出現404就返回到index.html頁面

 


免責聲明!

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



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