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 相关文章推荐
javascript中checkbox使用方法简单实例演示
Nov 17 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
Jan 28 Javascript
JavaScript——DOM操作——Window.document对象详解
Jul 14 Javascript
three.js中文文档学习之创建场景
Nov 20 Javascript
一步步教会你微信小程序的登录鉴权
Apr 09 Javascript
浅谈React的最大亮点之虚拟DOM
May 29 Javascript
纯JS实现的读取excel文件内容功能示例【支持所有浏览器】
Jun 23 Javascript
vue-cli 目录结构详细讲解总结
Jan 15 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
Jan 20 Javascript
如何将百度地图包装成Vue的组件的方法步骤
Feb 12 Javascript
vue 微信扫码登录(自定义样式)
Jan 06 Javascript
Vue $emit()不能触发父组件方法的原因及解决
Jul 28 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/05/07 PHP
php根据用户语言跳转相应网页
2015/11/04 PHP
学习php设计模式 php实现合成模式(composite)
2015/12/08 PHP
PHP中Array相关函数简介
2016/07/03 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
2017/05/20 PHP
PHP获取MySQL执行sql语句的查询时间方法
2018/08/21 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
jQuery aminate方法定位到页面具体位置
2013/12/26 Javascript
18个非常棒的jQuery代码片段
2015/11/02 Javascript
基于node实现websocket协议
2016/04/25 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
jQuery的$.extend 浅拷贝与深拷贝
2017/03/08 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
2018/09/27 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
javascript实现搜索筛选功能实例代码
2020/11/12 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
pymysql模块的使用(增删改查)详解
2019/09/09 Python
wxPython多个窗口的基本结构
2019/11/19 Python
代码总结Python2 和 Python3 字符串的区别
2020/01/28 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
CSS3属性background-size使用指南
2014/12/09 HTML / CSS
荷兰优雅女装网上商店:Heine
2016/11/14 全球购物
BOSE德国官网:尽探索之力,享音乐之极
2016/12/11 全球购物
Napapijri西班牙在线商店:夹克、外套、运动衫等
2020/11/05 全球购物
劳资员岗位职责
2013/11/11 职场文书
英语自荐信常用语句
2013/12/13 职场文书
市场营销方案范文
2014/03/11 职场文书
医院党建工作总结2015
2015/05/26 职场文书
2016学习全国教书育人楷模先进事迹心得体会
2016/01/21 职场文书
2016优秀大学生个人事迹材料范文
2016/03/01 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android
Linux服务器离线安装 nginx的详细步骤
2022/06/16 Servers