遇到的问题

使用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/javaeehttp://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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

这样的目的就是一旦出现404就返回到 index.html 页面。 
最后还需要配置一下你的route,配置一个覆盖所有的路由情况,然后在给出一个 404 页面。

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

Vue项目webpack打包部署到Tomcat,刷新报404错相关推荐

  1. php项目webpack打包,Vue项目webpack打包部署时Tomcat刷新报404错误问题如何处理

    这次给大家带来Vue项目webpack打包部署时Tomcat刷新报404错误问题如何处理,Vue项目webpack打包部署时Tomcat刷新报404错误问题处理的注意事项有哪些,下面就是实战案例,一起 ...

  2. Vue项目webpack打包部署到服务器

    Vue项目webpack打包部署到服务器 这篇博文主要说的就是我今天遇到的问题,而且在经过我的询问,好多人在打包部署的时候都遇到了一些问题,下面就来说下,如何将Vue项目放置在服务器上,这里以Tomc ...

  3. Vue项目的打包\部署\优化

    Vue项目的打包\部署\优化 如果有帮助到你 麻烦点个赞或者 收藏 +关注 哟 以后会经常发布一些干货文章 我只是一个前端小菜鸟,大佬勿喷! 一.nginx 开启 gzip 理论上,nginx 开启 ...

  4. 为 VUE 项目添加 PWA 解决发布后刷新报错问题

    为 VUE 项目添加 PWA 解决发布后刷新报错问题 参考文章: (1)为 VUE 项目添加 PWA 解决发布后刷新报错问题 (2)https://www.cnblogs.com/morang/p/9 ...

  5. vue项目webpack打包配置

    基于vue/cli3.0+脚手架搭建Vue项目(12) 文章目录 基于vue/cli3.0+脚手架搭建Vue项目(12) 前言 一.webpack配置 1.配置vue.config.js 2.配置Dl ...

  6. VUE项目WebPack打包删除注释和console

    项目中使用了 jspdf 这个插件,webpack打包后注释里存在这样的 领导让删除,于是使用插件 cnpm install uglifyjs-webpack-plugin -D vue.config ...

  7. Nginx下同域部署多个Vue项目(history路由模式),报404、500错误

    主要内容 一.环境 二.问题描述 三.问题解决 1.修改vue项目中的vue.config.js文件 2.修改Nginx的nginx.conf配置文件 3.Nginx目录结构 一.环境 系统: win ...

  8. vue项目webpack打包优化体积优化,打包体积减少200kb到4Mb

    解决方法 1.压缩图片 应尽可能地压缩项目中的图片,或使用svg矢量图.雪碧图.webp图片(此种图片仅兼容谷歌和opera浏览器,但图片的体积更小)等小体积的图片,达到减少打包体积的目的. 2.路由 ...

  9. mvn打包并部署本地tomcat_maven项目自动打包部署到tomcat中

    1. 在eclipse配置tomcat,部署路径设置为tomcat的webapps目录下. 2.修改tomcat-users.xml 3.maven的settings.xml 文件打开,写入用户名和密 ...

  10. 在Vue 项目 webpack 打包中关于 背景图片的路径问题

    第一次发segmentfault ,记录一下关于最近生产环境,开发环境路径问题. 开发环境下我们可以在vue中引入相对路径,但在生产环境,会默认为根目录static,所以我们需要在config 目录下 ...

最新文章

  1. ELF 文件 动态链接 - 地址无关代码(GOT)
  2. 推断:Facebook的新Java静态分析工具
  3. Shell 脚本知识回顾 (六) —— Shell 函数
  4. [10] ADB 修改设置
  5. Hibernate通用Dao实现
  6. spring boot中使用ehcache
  7. 苹果发布iOS 12.4首个测试版 苹果信用卡即将来袭
  8. 解决了asp.net 关于服务器版本不正确的问题
  9. 学习vue 20天,我写了点东西
  10. javaweb复习题库
  11. 基于Java+SpringBoot+vue+elementui图书商城系统设计实现
  12. vue-trtc多人视频开发(从零开始)-有手就行篇-最详细讲解
  13. 天蓝色在ps中的色值_加强天蓝色政策
  14. 跨团队协作:提高团队生产力的 7 种策略
  15. 干掉 Swagger + Postman?测试接口直接生成API文档,这个国产文档工具真香!
  16. 【leetcode24-----1比特与2比特字符】
  17. android 万能混淆文件,Android ProGuard 代码压缩混淆与打包优化
  18. 某温度控制系统的matlab仿真,某温度控制系统的MATLAB仿真.pdf
  19. 怎样在apple watch上阅读小说和听有声书
  20. 算法问题之酒店预订问题(动态规划)

热门文章

  1. Xcode10升级问题:Multiple commands produce Info.plist
  2. 不在更改国内网络账号的ID了
  3. Mysql 自动增长 重置
  4. java 通过sftp服务器上传下载删除文件
  5. Controller之间传递数据:协议传值
  6. javascript里new构造函数返回的值
  7. Google常用搜索技巧
  8. 计算机网络自顶向下方法第6章-链路层和局域网.1
  9. Linux基础介绍【第五篇】
  10. Qt5官方demo分析集10——Qt Quick Particles Examples - Emitters