iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Vue路由History mode模式中页面无法渲染如何解决
  • 899
分享到

Vue路由History mode模式中页面无法渲染如何解决

2023-07-04 14:07:19 899人浏览 安东尼
摘要

本篇内容主要讲解“Vue路由History mode模式中页面无法渲染如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue路由History mode模式中页面无法渲染如何解决”吧!Vu

本篇内容主要讲解“Vue路由History mode模式中页面无法渲染如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue路由History mode模式中页面无法渲染如何解决”吧!

Vue下路由History mode导致页面无法渲染的原因

vue.js + vue-router 创建单页应用,是非常简单的。使用 Vue.js ,我们已经可以通过组合组件来组成应用程序,当你要把 vue-router 添加进来,我们需要做的是,将组件(components)映射到路由(routes),然后告诉 vue-router 在哪里渲染它们。

一般开发的单页应用的URL都会带有#号的hash模式,因为整个应用本身而言就只有一个html,其他的都是通过router来渲染。如果因为业务需要,或者单纯是觉得带#号不美观,那么可以使用history模式,简单而言就是在router的配置文件index.js中添加如下一行代码:

history: mode

没错,这样URL不再会有#号,你会发现整个地址栏回到了你熟悉的那个样子

页面无法渲染

这里以我写的一个项目为例子,当我开启history模式的时候,我并没有对路由进行任何处理,在Dev阶段一切都是正常的,可是打包之后,访问项目路径:

sdp.driver.com/driver/

会发现页面一片空白,但是静态文件都能够正常的引用,因为使用了YII中的模块,所以除了域名之外,还会带有driver模块名。一般很多人创建的项目都放在了根目录下面,也就是:

sdp.driver.com

这样的一种形式,没问题。可是如果配置了模块,或者放置在了子文件夹下面,那么就会出问题。其实,这是因为router无法找到路径中的组件,所以也就无法渲染了。只需要修改router中的index.js,在每个path中加上你项目名称就行了,这样就能够成功了。

Vue路由History mode模式中页面无法渲染如何解决

最后的页面效果:

Vue路由History mode模式中页面无法渲染如何解决

404错误

在History mode下,如果直接通过地址栏访问路径,那么会出现404错误,这是因为这是单页应用(废话)…其实是因为调用了history.pushState api 所以所有的跳转之类的操作都是通过router来实现的,解决这个问题很简单,只需要在后台配置如果URL匹配不到任何静态资源,就跳转到默认的index.html。具体配置如下:

Apache

<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L]</IfModule>

Nginx

location / { try_files $uri $uri/ /index.html;}

Node.js (Express)

关于每次点击链接都要刷新页面的问题

众所周知,开发单页应用就是因为那丝般顺滑的体验效果,如果每次点击都会刷新页面…

出现这个的原因是因为使用了window.location来跳转,只需要使用使用router提供的方法,就能够解决这个问题:

在main.js中配置中将router绑定到全局

Vue.prototype.router = router;

之后都使用如下的方式来控制跳转

this.router.push('driver/service');

为什么要使用Vue

Vue是一款友好的、多用途且高性能的javascript框架,使用vue可以创建可维护性和可测试性更强的代码库,Vue允许可以将一个网页分割成可复用的组件,每个组件都包含属于自己的HTML、CSS、JavaScript,以用来渲染网页中相应的地方,所以越来越多的前端开发者使用vue。

到此,相信大家对“Vue路由History mode模式中页面无法渲染如何解决”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Vue路由History mode模式中页面无法渲染如何解决

本文链接: https://www.lsjlt.com/news/345481.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue路由History mode模式中页面无法渲染如何解决
    本篇内容主要讲解“Vue路由History mode模式中页面无法渲染如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue路由History mode模式中页面无法渲染如何解决”吧!Vu...
    99+
    2023-07-04
  • Vue路由History mode模式中页面无法渲染怎么办
    这篇文章主要为大家展示了“Vue路由History mode模式中页面无法渲染怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue路由History mo...
    99+
    2024-04-02
  • vue多页面项目中路由如何使用history模式
    这篇文章给大家分享的是有关vue多页面项目中路由如何使用history模式的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。如何解决有一天看webpack文档的时候,突然看到了his...
    99+
    2024-04-02
  • Vue路由history模式如何解决404问题
    小编给大家分享一下Vue路由history模式如何解决404问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!问题背景:vue-...
    99+
    2024-04-02
  • vue-router是如何实现路由跳转和页面渲染的
    Vue-router是Vue.js官方的路由管理工具,支持基于Vue.js构建单页应用(SPA),它提供的路由功能让我们能够通过管理URL中的路径,来控制页面的跳转和展示。本文将着重探讨 Vue-router 的底层实现原理,分析 Vue-...
    99+
    2023-05-14
  • vue如何实现刷新之后嵌套路由不变并重新渲染页面
    这篇文章给大家分享的是有关vue如何实现刷新之后嵌套路由不变并重新渲染页面的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。解决嵌套路由刷新时,路由没有变化,正常情况下页面是不会重新...
    99+
    2024-04-02
  • vue修改数据页面不重新渲染问题如何解决
    本文小编为大家详细介绍“vue修改数据页面不重新渲染问题如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue修改数据页面不重新渲染问题如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。vue渲染机制...
    99+
    2023-07-05
  • 如何解决vue-router进行build无法正常显示路由页面的问题
    这篇文章主要为大家展示了“如何解决vue-router进行build无法正常显示路由页面的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决vue-ro...
    99+
    2024-04-02
  • 如何解决vue数组中对象属性变化页面不渲染的问题
    这篇文章主要介绍了如何解决vue数组中对象属性变化页面不渲染的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。做checkbox多选功能的...
    99+
    2024-04-02
  • vue使用echarts时created里拿到的数据无法渲染如何解决
    这篇文章主要介绍了vue使用echarts时created里拿到的数据无法渲染如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue使用echarts时created里拿到的数据无法渲染如何解决文章都会有...
    99+
    2023-07-05
  • 如何解决Vue路由this.route.push跳转页面不刷新的问题
    这篇文章主要讲解了“如何解决Vue路由this.route.push跳转页面不刷新的问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何解决Vue路由this.route.push跳转页面...
    99+
    2023-06-20
  • 如何解决vue路由变化页面数据不刷新的问题
    这篇文章给大家分享的是有关如何解决vue路由变化页面数据不刷新的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。每天记录一点点,把我遇到的问题记录下来, 希望可以帮助到更多和我...
    99+
    2024-04-02
  • vue3中addRoute路由变化但页面未更新如何解决
    解决办法,每次addRoute时 深复制组件对象import time from "../views/time" function copyObj(obj) { if (typeof obj == "o...
    99+
    2023-05-20
    Vue3 addroute
  • 如何解决angularjs中路由页面强制更新的问题
    这篇文章给大家分享的是有关如何解决angularjs中路由页面强制更新的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。有这么一个问题,在页面内路由页面跳转时,第一次跳入路由页...
    99+
    2024-04-02
  • vue路由第二次进入页面created和mounted不执行如何解决
    这篇文章主要介绍“vue路由第二次进入页面created和mounted不执行如何解决”,在日常操作中,相信很多人在vue路由第二次进入页面created和mounted不执行如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作...
    99+
    2023-07-04
  • 使用vue router路由传参刷新页面参数丢失如何解决
    本篇文章为大家展示了使用vue router路由传参刷新页面参数丢失如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。方法一:通过 params 传参路由配置如下:{  &n...
    99+
    2023-06-15
  • 如何解决Vue 路由切换时页面内容没有重新加载的问题
    小编给大家分享一下如何解决Vue 路由切换时页面内容没有重新加载的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第二次进入页...
    99+
    2024-04-02
  • 如何解决angular2中router路由跳转navigate的使用与刷新页面问题
    这篇文章主要介绍如何解决angular2中router路由跳转navigate的使用与刷新页面问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、router.navigate的使...
    99+
    2024-04-02
  • html中如何解决360双核浏览器兼容模式的页面显示问题
    这篇文章给大家分享的是有关html中如何解决360双核浏览器兼容模式的页面显示问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 由于众所周知的情况,国内的主流浏览器都是双核浏览...
    99+
    2024-04-02
  • 如何解决由于组策略中被禁用而导致IE主页无法修改的问题
    如何解决由于组策略中被禁用而导致IE主页无法修改的问题,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。由于组策略中被禁用,导致IE主页无法修改解决方案:步骤一:win+r打开...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作