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 相关文章推荐
用正则获取指定路径文件的名称
Feb 27 Javascript
判断用户是否在线的代码
Mar 05 Javascript
ExtJS4 组件化编程,动态加载,面向对象,Direct
May 12 Javascript
Jquery操作下拉框(DropDownList)实现取值赋值
Aug 13 Javascript
javascript写的异步加载js文件函数(支持数组传参)
Jun 07 Javascript
jquery实现简单的自动播放幻灯片效果
Jun 13 Javascript
有关jquery与DOM节点操作方法和属性记录
Apr 15 Javascript
D3.js实现散点图和气泡图的方法详解
Sep 21 Javascript
对vue下点击事件传参和不传参的区别详解
Sep 15 Javascript
分享5个好用的javascript文件上传插件
Sep 16 Javascript
Angularjs实现数组随机排序的方法
Oct 02 Javascript
js实现3D粒子酷炫动态旋转特效
Sep 13 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
星际争霸中的热键
2020/03/04 星际争霸
常用的php ADODB使用方法集锦
2008/03/25 PHP
简单的cookie计数器实现源码
2013/06/07 PHP
php之XML转数组函数的详解
2013/06/07 PHP
解析CodeIgniter自定义配置文件
2013/06/18 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
php类中的各种拦截器用法分析
2014/11/03 PHP
微信公众号判断用户是否已关注php代码解析
2016/06/24 PHP
利用php获得flv视频长度的实例代码
2017/10/26 PHP
学习ExtJS fit布局使用说明
2009/10/08 Javascript
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
jquery ready(fn)事件使用介绍
2013/08/21 Javascript
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
2013/08/21 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
通过$(this)使用jQuery包装后的方法或属性
2014/05/18 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
2015/06/08 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
2015/07/01 Javascript
jquery实现九宫格大转盘抽奖
2015/11/13 Javascript
jQuery实用密码强度检测
2017/03/02 Javascript
详解如何模拟实现node中的Events模块(通俗易懂版)
2019/04/15 Javascript
Vue 2.0 侦听器 watch属性代码详解
2019/06/19 Javascript
Nuxt使用Vuex的方法示例
2019/09/06 Javascript
小程序自定义圆形进度条
2020/11/17 Javascript
Python随机生成数模块random使用实例
2015/04/13 Python
通过数据库对Django进行删除字段和删除模型的操作
2015/07/21 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
对python中类的继承与方法重写介绍
2019/01/20 Python
python小程序实现刷票功能详解
2019/07/17 Python
python内置模块collections知识点总结
2019/12/19 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
安全生产网格化管理实施方案
2014/03/01 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
房产公证书格式
2015/01/26 职场文书
解决jupyter notebook图片显示模糊和保存清晰图片的操作
2021/04/24 Python