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 相关文章推荐
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
Apr 20 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
Dec 28 Javascript
jQuery实现倒计时按钮功能代码分享
Sep 03 Javascript
jQuery仿Flash上下翻动的中英文导航菜单实例
Mar 10 Javascript
javascript实现树形菜单的方法
Jul 17 Javascript
javascript事件委托的用法及其好处简析
Apr 04 Javascript
jQuery中clone()函数实现表单中增加和减少输入项
May 13 jQuery
Vue.js鼠标悬浮更换图片功能
May 17 Javascript
微信小程序 新建登录页并实现tabBar隐藏
Jun 13 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
Sep 30 Javascript
JS继承实现方法及优缺点详解
Sep 02 Javascript
详解Anyscript开发指南绕过typescript类型检查
Sep 23 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
用PHPdig打造属于你自己的Google[图文教程]
2007/02/14 PHP
php 多个submit提交表单 处理方法
2009/07/07 PHP
php求正负数数组中连续元素最大值示例
2014/04/11 PHP
分析PHP中单双引号的误区和双引号小隐患
2016/07/19 PHP
jquery中ajax学习笔记3
2011/10/16 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
jquery验证表单中的单选与多选实例
2013/08/18 Javascript
js格式化货币数据实现代码
2013/09/04 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
2016/07/07 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
详解react-router如何实现按需加载
2017/06/15 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
2017/09/27 Javascript
vue实现消息的无缝滚动效果的示例代码
2017/12/05 Javascript
vue中element组件样式修改无效的解决方法
2018/02/03 Javascript
原生js实现Flappy Bird小游戏
2018/12/24 Javascript
vue data恢复初始化数据的实现方法
2019/10/31 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
小谈angular ng deploy的实现
2020/04/07 Javascript
在vue中使用Echarts画曲线图的示例
2020/10/03 Javascript
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
一个检测OpenSSL心脏出血漏洞的Python脚本分享
2014/04/10 Python
Python函数中定义参数的四种方式
2014/11/30 Python
Python模拟随机游走图形效果示例
2018/02/06 Python
python爬虫 线程池创建并获取文件代码实例
2019/09/28 Python
Python使用pyenv实现多环境管理
2021/02/05 Python
CSS3实现各种图形的示例代码
2016/10/19 HTML / CSS
自荐书格式
2013/12/01 职场文书
上课迟到检讨书
2014/01/19 职场文书
停车位租赁协议书
2014/09/24 职场文书
违纪检讨书范文
2015/01/27 职场文书
聘任书格式及范文
2015/09/21 职场文书
用 Python 元类的特性实现 ORM 框架
2021/05/19 Python