背景:自己搭了 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/g…
<?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^!