spring boot使用vue+vue-router构建单页面应用
spring boot
http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/
vue
vue-router
https://github.com/vuejs/vue-router/tree/dev/docs/zh-cn
使用vue+vue-router后不再由模版引擎或jsp生成页面,后台只进行json类型的数据交互。
实际第一次配置容易遇到一些问题:
1.url中含#号
解决方法:创建 router 实例时配置
const router = new VueRouter({
mode: 'history',
routes: [...]
})
http://router.vuejs.org/en/essentials/history-mode.html
2.参照https://github.com/vuejs/vue-router/blob/dev/docs/zh-cn/essentials/getting-started.md
点击链接跳转正常,浏览器显示地址正常
直接输入***/foo则报错,找不到页面
F12开启浏览器控制台发现:点击跳转并没有发送request 而是通过HTML5 History API
本质上是一个只有index.html的单页面应用
所以对应的后台要把所有404跳转到index.html
@SpringBootApplication
public class DemoApplication { @Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return (container -> {
ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/");
container.addErrorPages(error404Page);
});
} public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
红色部分代码实现该功能
3.这样又出现了一个新的问题
随便输入url,即使不是vue-router中的url都会跳转到index,不再有404页面
解决方法
var router = new VueRouter();
router.map({
'a':{},
'b':{},
// not found handler
'*': {
component: require('./../components/not-found.vue')
}
});
配置其路由规则a跳转到XXX,b跳转到XXX(a,b存在对应),无对应跳转到not-found.vue作为404页面
参考实例https://github.com/kucharzyk/vuejs-java-starter 该项目使用中间件较多,其实并不需要node、npm(当时我还以为有node的一层服务器),只是方便管理
我也是刚开始尝试vue.js,写了个最基本的方便大家更好的理解https://github.com/wqbill/my-first-vue(灰常灰常基本,纯属展示一个解决完上述3个问题后的最基本框架Orz)
spring boot使用vue+vue-router构建单页面应用的更多相关文章
- spring boot / cloud (三) 集成springfox-swagger2构建在线API文档
spring boot / cloud (三) 集成springfox-swagger2构建在线API文档 前言 不能同步更新API文档会有什么问题? 理想情况下,为所开发的服务编写接口文档,能提高与 ...
- Spring Security默认的用户登录表单 页面源代码
Spring Security默认的用户登录表单 页面源代码 <html><head><title>Login Page</title></hea ...
- 借助 Vue 来构建单页面应用
原文: https://github.com/MeCKodo/vue-tutorial 主题 Vue.js (1/2)Vue构建单页应用最佳实战 前言 我们将会选择使用一些vue周边的库 1.使用no ...
- 新手vue构建单页面应用实例
本人写的小程序,功能还在完善中,欢迎扫一扫提出宝贵意见! 步骤: 1.使用vue-cli创建项目2.使用vue-router实现单页路由3.用vuex管理我们的数据流4.使用vue-resource请 ...
- 用 vue cli 脚手架搭建单页面 Vue 应用(进阶2)
1.配置 Node 环境. 自行百度吧. 安装好了之后,打开 cmd .运行 node -v .显示版本号,就是安装成功了. 注:不要安装8.0.0以上的版本,和 vue-cli 不兼容. 我使用的 ...
- Spring Boot中使用Swagger2自动构建API文档
由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...
- spring boot 教程(一) 构建我的第一个Spring boot
Spring Boot特点 1. 创建独立的Spring应用程序 2. 嵌入的Tomcat,无需部署WAR文件 3. 简化Maven配置 4. 自动配置Spring 5. 提供生产就绪型功能,如指标, ...
- Spring Boot 2 + Thymeleaf:服务器端表单验证
表单验证分为前端验证和服务器端验证.服务器端验证方面,Java提供了主要用于数据验证的JSR 303规范,而Hibernate Validator实现了JSR 303规范.项目依赖加入spring-b ...
- Spring Boot 中 10 行代码构建 RESTful 风格应用
RESTful ,到现在相信已经没人不知道这个东西了吧!关于 RESTful 的概念,我这里就不做过多介绍了,传统的 Struts 对 RESTful 支持不够友好 ,但是 SpringMVC 对于 ...
随机推荐
- dp递推 数字三角形,dp初学者概念总结
数字三角形(POJ1163) 在上面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大.路径上的每一步都只能往左下或 右下走.只需要求出这个最大和即可,不必给出 ...
- Https、OpenSSL自建CA证书及签发证书、nginx单向认证、双向认证及使用Java访问
0.环境 本文的相关源码位于 https://github.com/dreamingodd/CA-generation-demo 必须安装nginx,必须安装openssl,(用apt-get upd ...
- 新书推荐《再也不踩坑的Kubernetes实战指南》
<再也不踩坑的Kubernetes实战指南>终于出版啦.目前可以在京东.天猫购买,京东自营和当当网预计一个星期左右上架. 本书贴合生产环境经验,解决在初次使用或者是构建集群中的痛点,帮 ...
- ECharts使用总结归纳
UserNAME:你为什么写这篇文章? My:最近项目中有统计报表的需求,使用了ECharts,“度娘”过程中东查西找太麻烦,自己写一篇加深印象,方便以后查阅. 辅助文档------>ttps: ...
- Visual Studio Code 安装美化合集
这是一个关于VSCode编辑器的各种配置. 你可以在这里找到VSCode 的各种操作,如果这里找不到,请移步官方文档C++ programming with Visual Studio Code以及各 ...
- Java 教程(开发环境配置+基础语法)
Java 开发环境配置 在本章节中我们将为大家介绍如何搭建Java开发环境. window系统安装java 下载JDK 首先我们需要下载java开发工具包JDK,下载地址:http://www.ora ...
- 第一次作业:使用Packet Tracer分析HTTP包
0 个人信息 张樱姿 201821121038 计算1812 1 实验目的 熟练使用Packet Tracer工具.分析抓到的HTTP数据包,深入理解:HTTP协议,包括语法.语义.时序. 2 实验内 ...
- 一个基于vue的时钟
前两天写了一个基于vue的小钟表,给大家分享一下. 其中时针和分针使用的是图片,结合transform制作:表盘刻度是通过transform和transformOrigin配合画的:外面的弧形框框,啊 ...
- Qt信号槽-原理分析
目录 一.问题 二.Moc 1.变量 2.Q_OBJECT展开后的函数声明 3.自定义信号 三.connect 四.信号触发 1.直连 2.队列连接 五.总结 六.推荐阅读 一.问题 学习Qt有一段时 ...
- 利用kubeadm快速部署 kubernetes 集群
结合一下两个教程 https://www.cnblogs.com/along21/p/10303495.html 链接:https://pan.baidu.com/s/1O_pcywfso4VFOsF ...