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 相关文章推荐
JS字符串函数扩展代码
Sep 13 Javascript
通过隐藏iframe实现文件下载的js方法介绍
Feb 26 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
Aug 01 Javascript
jQuery对象的链式操作用法分析
May 10 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
Sep 12 Javascript
JS两种类型的表单提交方法实例分析
Nov 28 Javascript
Bootstrap 轮播(Carousel)插件
Dec 26 Javascript
javascript中数组的常用算法深入分析
Mar 12 Javascript
js实现图片局部放大效果详解
Mar 18 Javascript
深入浅析Vue 中 ref 的使用
Apr 29 Javascript
element-ui上传一张图片后隐藏上传按钮功能
May 22 Javascript
JS字符串补全方法padStart()和padEnd()
May 27 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 cookie 作用范围?不要在当前页面使用你的cookie
2009/03/24 PHP
PHP中设置时区方法小结
2012/06/03 PHP
set_exception_handler函数在ThinkPHP中的用法
2014/10/31 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
php上传图片类及用法示例
2016/05/11 PHP
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
JsRender for object语法简介
2014/10/31 Javascript
jquery实现邮箱自动填充提示功能
2015/11/17 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
2016/05/28 Javascript
微信小程序 require机制详解及实例代码
2016/12/14 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
angular4自定义表单控件[(ngModel)]的实现
2018/11/23 Javascript
微信小程序 腾讯地图显示偏差问题解决
2019/07/27 Javascript
解决vue项目获取dom元素宽高总是不准确问题
2020/07/29 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
Python中编写ORM框架的入门指引
2015/04/29 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
Python实现的多叉树寻找最短路径算法示例
2018/07/30 Python
python反编译学习之字节码详解
2019/05/19 Python
python多进程间通信代码实例
2019/09/30 Python
使用python客户端访问impala的操作方式
2020/03/28 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
2020/09/01 Python
HTML5中input输入框默认提示文字向左向右移动的示例代码
2020/09/10 HTML / CSS
高级Java程序员面试要点
2013/08/02 面试题
保险专业求职信
2014/07/07 职场文书
注册资产评估专业求职信
2014/07/16 职场文书
2014年医院工作总结
2014/11/20 职场文书
中学生清明节演讲稿
2015/03/18 职场文书
2015年推广普通话演讲稿
2015/03/20 职场文书
国王的演讲观后感
2015/06/03 职场文书
三八妇女节致辞
2015/07/31 职场文书
《七律·长征》教学反思
2016/02/16 职场文书
2019年干货:自我鉴定
2019/03/25 职场文书