当前位置: 首页 > news >正文

Vue Vue-route (5)

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue-route History模式和路由懒加载

目录

History模式

设置history模式

后端配置

Apache

路由懒加载

配置

总结


History模式

设置history模式

Vue-route默认hash模式——使用URL的hash来模拟一个完整的URL,

于是当URL改变时,页面不会重新加载。

如果不想要很丑的hash,如下:

可以用路由的history模式,设置index.js中的mode。

这种模式充分利用history.pushStateAPI来完成URL跳转而无需重新加载页面。

示例如下:

当使用history模式时,URL就像正常的URL,例如http://www.xxx.com/user/id,相比原来要好看一些。

不过这种模式,需要后台配置支持。因为我们的应用是个单页客户端应用,如果后台没有正确的配置,当用户在浏览器直接访问http://www.xxx.com/user/id 就会返回404。

效果:

 

后端配置

后端服务器配置示例。

Apache

Nginx

 

 

路由懒加载

首屏加载过慢,单页面应用中。所有的js合并为一个大文件js时应用。

如果这是看首页,也需要等待全部js下载下来体感是很不好的。

当打包构建应用时,js包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。

结合Vue的异步组件和webpack的代码分割功能,轻松实现路由组件的懒加载。

配置

首先,将异步组件定义为返回一个promise的工厂函数

(该函数返回的promise应该resolve组件本身):

第二,在webpack2中,我们可以使用动态import语法来定义代码分块点

 结合这两者,这就是如何定义一个能够被webpack自动代码分割的异步组件。

路由配置中不需要改变,只需要像往常一个使用。

router/index.js中 路由配置修改

{path: '/center',name: 'center',component: () => import('@/views/centerView'),meta: {isLoginRequired: true}},

总结

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue-route History模式和路由懒加载

http://www.xdnf.cn/news/1108315.html

相关文章:

  • Adobe Illustrator关于图标创建的问题
  • 【跟我学运维】chkconfig jenkins on的含义
  • 初等行变换会改变矩阵的什么?不变改变矩阵的什么?求什么时需要初等行变换?求什么时不能初等行变换?
  • 回归(多项式回归)
  • 电网通俗解析术语2:一二次设备关联
  • 【PycharmPyqt designer桌面程序设计】
  • Effective Modern C++ 条款9:优先考虑别名声明而非typedef
  • Socket到底是什么(简单来说)
  • 【Elasticsearch】昂贵算法与廉价算法
  • 史上最全 MySQL 锁详解:从理论到实战,一篇搞定所有锁机制
  • 网络编程员工管理系统
  • 【数据分析】03 - Matplotlib
  • 【Elasticsearch 】search_throttled
  • 力扣-19. 删除链表的倒数第N个节点
  • Windows环境下解决Matplotlib中文字体显示问题的详细指南
  • Git入门教程
  • JVM与系统性能监控工具实战指南:从JVM到系统的全链路分析
  • 虚拟现实的镜廊:当技术成为存在之茧
  • Unity VR手术模拟系统架构分析与数据流设计
  • 深度学习图像分类数据集—害虫识别分类
  • [论文阅读] 人工智能 + 软件工程 | AI助力软件可解释性:从用户评论到自动生成需求与解释
  • JVM 类加载过程
  • Django母婴商城项目实践(四)
  • OpenEuler操作系统中检测插入的USB设备并自动挂载
  • perftest测试连接是否稳定shell脚本
  • Typecho博客系统与WebSocket实时通信整合指南
  • Ubuntu快速搭建QT开发环境指南,5000字解析!!
  • 前端note
  • 【Lucene/Elasticsearch】**Query Rewrite** 机制
  • RabbitMQ面试精讲 Day 1:RabbitMQ核心概念与架构设计