背景:打包后的项目发给后台部署到tomcat/webapps/dist中,刷新页面报404
解析:一般项目放tomcat/webapps/ROOT/,因为里面有默认的WEB-INF,若放外面,需修改conf/server.xml中的配置才会打开页面;
vue是单页面应用,当router使用history模式,URL是和正常的url差不多的,但vue-router设置的路径是虚拟路径,当后台没有配置支持时,刷新会返回404错误。
解决办法:tomcat的dist目录添加WEB-INF文件夹,并添加文件web.xml
配置error-page,若报404则指向index.html页面,这个刚好就是前端项目的入口页面。
切记:vue项目中添加notFound页面,以防访问一个的确不存在的路径返回到入口页面。
{
path: '/*',
component: NotFound,
meta: {
requireAuth: true
}
}
参考地址:vue官网--https://router.vuejs.org/zh/guide/essentials/history-mode.html