背景:自己搭了vue測試項目,使用的是history模式,放在后台,一開始進入項目沒什么問,但是再一刷新頁面就404了,what?當時的比較懵逼
,為啥呢?因為之前寫過項目上線過是好用的啊,這個項目按照那個寫的啊,但是解壓項目zip文件之后發現,WEB-INF沒有引入,瞬間就WC了,
為了以防自己犯這種SX的問題浪費時間,所以打算記錄下history的配置
1、配置router/index.js
2、build/utils.js
3、webpack.prod.conf.js,這里配置因為我們的應用是個單頁客戶端應用,如果后台沒有正確的配置,當用戶在瀏覽器直接訪問 http://oursite.com/user/id
就會返回 404,這就不好看了。
所以呢,你要在服務端增加一個覆蓋所有情況的候選資源:如果 URL 匹配不到任何靜態資源,則應該返回同一個 index.html
頁面,這個頁面就是你 app 依賴的頁面。
這里可以看官網文檔:https://router.vuejs.org/zh/guide/essentials/history-mode.html
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee/web-app_2_5.xsd" id="scplatform" version="2.5"> <display-name>/</display-name> <error-page> <error-code>404</error-code> <location>/index.html</location> </error-page> </web-app>
再配置webpack.prod.conf.js,因為我使用了friendly-errors-webpack-plugin壓縮插件,打包成zip包
配置到這里就結束了,希望可以給大家一點點幫助,主要是給自己看^v^!