Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案


Posted in Javascript onMay 15, 2018

遇到的问题

使用webpack打包vue后,将打包好的文件,发布到Tomcat上,访问成功,但是刷新后页面报404错。

在网上查找了一下,原来是HTML5 History 模式引发的问题,具体为什么,vue官方已经给出了解释,你可以看https://router.vuejs.org/zh-cn/essentials/history-mode.html

但是看完问题又来了,官方给出的解决方案中没有说tomcat下,怎么决解。

解决方案

根据官方给出的解决方案原理

你要在服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个 index.html 页面,这个页面就是你 app 依赖的页面。

所以在tomcat服务器下你可以这么做。在打包好的项目根目录下新建一个WEB-INF文件夹,在WEB-INF中写一个web.xml。

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 页面。

最后还需要配置一下你的route,配置一个覆盖所有的路由情况,然后在给出一个 404 页面。

const router = new VueRouter({
 mode: 'history',
 routes: [
  { 
    path: '*', 
    component: (resolve) => require(['./views/error404.vue'], resolve) 
  }
 ]
})

总结

以上所述是小编给大家介绍的Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
修改发贴的编辑功能
Mar 07 Javascript
JavaScript 检测浏览器和操作系统的脚本
Dec 26 Javascript
11款新鲜的jQuery插件[附所有demo下载]
Jan 24 Javascript
基于jquery tab切换(防止页面刷新)
May 23 Javascript
javaScript 页面自动加载事件详解
Feb 10 Javascript
一个通过script自定义属性传递配置参数的方法
Sep 15 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
Mar 03 Javascript
JavaScript数据结构之数组的表示方法示例
Apr 12 Javascript
vue中实现滚动加载更多的示例
Nov 08 Javascript
vue-cli3 取消eslint校验代码的解决办法
Jan 16 Javascript
vue实现购物车结算功能
Jun 18 Javascript
微信小程序自定义modal弹窗组件的方法详解
Dec 20 Javascript
解决linux下node.js全局模块找不到的问题
May 15 #Javascript
vue :src 文件路径错误问题的解决方法
May 15 #Javascript
利用npm 安装删除模块的方法
May 15 #Javascript
vux uploader 图片上传组件的安装使用方法
May 15 #Javascript
使用webpack搭建react开发环境的方法
May 15 #Javascript
浅谈Node.js 沙箱环境
May 15 #Javascript
npm全局模块卸载及默认安装目录修改方法
May 15 #Javascript
You might like
PHP实现下载功能的代码
2012/09/29 PHP
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
JavaScript 使用技巧精萃(.net html
2009/04/25 Javascript
Extjs学习笔记之二 初识Extjs之Form
2010/01/07 Javascript
jquery实现固定顶部导航效果(仿蘑菇街)
2013/03/21 Javascript
js实现两点之间画线的方法
2015/05/12 Javascript
初识Javascript小结
2015/07/16 Javascript
js仿百度登录页实现拖动窗口效果
2016/03/11 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
Javascript 实现全屏滚动实例代码
2016/12/31 Javascript
Node.js中.pfx后缀文件的处理方法
2017/03/10 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
vue2.0 路由模式mode=&quot;history&quot;的作用
2018/10/18 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
解决layer弹出层中表单不起作用的问题
2019/09/09 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
[01:03:51]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第三场
2018/04/09 DOTA
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
在Python中操作字典之update()方法的使用
2015/05/22 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
2016/09/11 Python
基于Python中capitalize()与title()的区别详解
2017/12/09 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
2020/03/13 Python
Pandas缺失值2种处理方式代码实例
2020/06/13 Python
matplotlib基础绘图命令之bar的使用方法
2020/08/13 Python
欧洲顶级的童装奢侈品购物网站:Bambini Fashion(面向全球)
2018/04/24 全球购物
酒店保洁主管岗位职责
2013/11/28 职场文书
创业计划书怎样才能打动风投
2014/01/01 职场文书
网上蛋糕店创业计划书
2014/01/24 职场文书
2014年销售内勤工作总结
2014/12/01 职场文书
2015年医院药剂科工作总结
2015/05/04 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
JavaScript实现简单图片切换
2021/04/29 Javascript
python flask框架快速入门
2021/05/14 Python
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis