博主信息
博文 98
粉丝 1
评论 0
访问量 84384
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
vue路由
阿杰
原创
586人浏览过

1、两种模式 hash、history

(1)两种模式最大的区别就是链接里有没带#,hash模式会带上#
(2)在生产环境中,history 模式有一个比较大的问题,就是当手动刷新时,会报404错误

  • hash 模式下下,只将 hash 前面的部分当作地址,所以会向服务端重新请求,刷新之后,与刷新之前的页面内容是一致的(因为 hash 值没有变化)
  • istory 模式下,会将地址栏中的地址全部看作请求地址,所以刷新后,会向服务端请求这个地址,而我们的前端项目下,只有一个 index.html 和一些 js、css、图片等文件,根本没有请求的资源,所以服务器就返回 404了
  • 解决方法:apche服务器重写路由到 www.xx.com/ 下。然后刷新可正常访问到 手动刷新的 页面


刷新页面路径访问404时会重定向到index.html,配置url重写语句,注意是重写,不是重定向。

2、懒加载

  1. import Login from '../views/Login

这种方式导入组件,当打包构建应用时,JavaScript 包会变得非常大,影响页面加载。打包后,这些组件都会被打包到一个以app开头的文件中。

  1. const Login = () => import('../views/Login')
  2. ...
  3. {
  4. path: '/login',
  5. name: 'login',
  6. component: Login // 此时的 login 是函数
  7. },

对比原来的引入方式,就能发现不同点:现在的 Login 是个函数,当路由规则匹配上,就会执行这个函数,才去加载此组件。将所有组件的引入方式都像上面这样修改后,重新打包,由原来的一个js文件拆分成了体积较小的多个js文件。

  1. ...
  2. component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')

这种引入方式是将每个组件都分别打包了,可以将多个组件打包到一个包中。打包后,这些组件都会被打包到一个以about开头的文件中。

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学