Vue在 Nuxt.js 中重定向 404 页面的方法


Posted in Javascript onApril 23, 2019

Nuxt.js 依据 pages 目录结构自动生成 vue-router 模块的路由配置。

要在页面之间使用路由,我们建议使用<nuxt-link> 标签。

正文

对我来说,Nuxt 是我所用过最好用的软件代码之一。它可以让我高效率地打造网站应用,无论这些应用是 SPA,还是 SSR,又或者是静态站点,这同时也是 JAM Stack 上面所提到的趋势。

顺便提一点,我们这个网站Vuedose 也是使用 Nuxt 所建立静态站点。

但是,绝大多数自己领悟的很有意思的使用技巧并没有被记载沉淀下来,这不行,现在我们就来分享第一个 Nuxt 的技巧。

如果你熟悉 Nuxt.js,那么你就应该知道pages 的概念是什么。同样地,你也应该知道这个特殊的Error Page,虽然它是被放在 Layouts 文件夹中的,但它是被作为一个 page。

你可以去重写这个默认的错误页,并且根据你的需求去定制它,但是如果我们想要一个不同的表现形式呢?

在一些情况下,比如当用户访问一个并不存在的页面时,我们想要将其重定向到网站主页。

这里有个方法:你可以通过简单地创建 pages/*.vue 组件来完成这个需求:

<!-- pages/*.vue -->
<script>
export default {
 asyncData ({ redirect }) {
  return redirect('/')
 }
}
</script>

在 Nuxt 中,路由是通过文件命名来定义的。所以当我们创建了一个 *.vue 文件是,我们实际上是在 Vue Router 上使用通配符的路由。

然后,我们使用 Nuxt 上下文中的 rediect 方法来实现重定向,无论它是在客户端还是在服务器端。

我们在 asyncData 方法中去做这个重定向,是因为我们在那里有上下文。但是,我们也可以在 fetch 方法中达到同样的效果:

<!-- pages/*.vue -->
<script>
export default {
 fetch ({ redirect }) {
  return redirect('/')
 }
}
</script>

快去使用一下吧,尝试访问任何一个不存在 url,你应该能看到它是如何被重定向的。

总结

以上所述是小编给大家介绍的Vue在 Nuxt.js 中重定向 404 页面的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
修改jquery.lazyload.js实现页面延迟载入
Dec 22 Javascript
cookie的复制与使用记住用户名实现代码
Nov 04 Javascript
js获取ajax返回值代码
Apr 30 Javascript
2014年最火的Node.JS后端框架推荐
Oct 27 Javascript
jQuery处理json数据返回数组和输出的方法
Mar 11 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
Jun 10 Javascript
jQuery切换所有复选框选中状态的方法
Jul 02 Javascript
浅谈$('div a') 与$('div&gt;a')的区别
Jul 18 Javascript
详解vue.js之绑定class和style的示例代码
Aug 24 Javascript
基于Bootstrap表单验证功能
Nov 17 Javascript
Node.js操作系统OS模块用法分析
Jan 04 Javascript
Vue 使用formData方式向后台发送数据的实现
Apr 14 Javascript
vue项目首屏加载时间优化实战
Apr 23 #Javascript
灵活使用console让js调试更简单的方法步骤
Apr 23 #Javascript
详解实现一个通用的“划词高亮”在线笔记功能
Apr 23 #Javascript
Vue源码学习之关于对Array的数据侦听实现
Apr 23 #Javascript
vue的keep-alive中使用EventBus的方法
Apr 23 #Javascript
js继承的这6种方式!(上)
Apr 23 #Javascript
jQuery对底部导航进行跳转并高亮显示的实例代码
Apr 23 #jQuery
You might like
PHP 类型转换函数intval
2009/06/20 PHP
PHP实现手机归属地查询API接口实现代码
2012/08/27 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
php中访问修饰符的知识点总结
2019/01/27 PHP
YII框架模块化处理操作示例
2019/04/26 PHP
兼容ie和firefox js关闭代码
2008/12/11 Javascript
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
JavaScript中constructor()方法的使用简介
2015/06/05 Javascript
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
2017/09/13 Javascript
基于vue2实现上拉加载功能
2017/11/28 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
2019/02/15 jQuery
JS highcharts动态柱状图原理及实现
2020/10/16 Javascript
微信小程序入门之绘制时钟
2020/10/22 Javascript
[02:31]2014DOTA2国际邀请赛2009专访:干爹表现出乎意料 看好DK杀回决赛
2014/07/20 DOTA
[02:22:36]《加油!DOTA》总决赛
2014/09/19 DOTA
Python实现截屏的函数
2015/07/25 Python
python学习--使用QQ邮箱发送邮件代码实例
2019/04/16 Python
树莓派与PC端在局域网内运用python实现即时通讯
2019/06/22 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
浅谈Python中(&amp;,|)和(and,or)之间的区别
2019/08/07 Python
css3 实现圆形旋转倒计时
2018/02/24 HTML / CSS
电信营业员自我评价分享
2014/01/17 职场文书
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
幼儿园开学寄语
2014/04/03 职场文书
领导干部对照检查材料
2014/08/24 职场文书
单位委托函范文
2015/01/29 职场文书
中国世界遗产导游词
2015/02/13 职场文书
通知书大全
2015/04/27 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
2015国庆节66周年标语
2015/07/30 职场文书
Python连接Postgres/Mysql/Mongo数据库基本操作大全
2021/06/29 Python
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis
Python基本知识点总结
2022/04/07 Python
基于PyQt5制作一个群发邮件工具
2022/04/08 Python
html中两种获取标签内的值的方法
2022/06/16 jQuery