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 相关文章推荐
javascript SocialHistory 检查访问者是否访问过某站点
Aug 02 Javascript
js实现的日期操作类DateTime函数代码
Mar 16 Javascript
推荐10个超棒的jQuery工具提示插件
Oct 11 Javascript
jquery获取div距离窗口和父级dv的距离示例
Oct 10 Javascript
为指定的元素添加遮罩层的示例代码
Jan 15 Javascript
jQuery 插件开发指南
Nov 14 Javascript
jQuery层级选择器用法分析
Feb 10 Javascript
使用JavaScript实现连续滚动字幕效果的方法
Jul 07 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
Aug 17 Javascript
使用element-ui table expand展开行实现手风琴效果
Mar 15 Javascript
vue模式history下在iis中配置流程
Apr 17 Javascript
Windows上node.js的多版本管理工具用法实例分析
Nov 06 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
德生1994机评
2021/03/02 无线电
来自PHP.NET的入门教程
2006/10/09 PHP
YII中assets的使用示例
2014/07/31 PHP
8个必备的PHP功能开发
2015/10/02 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
2015/12/21 PHP
jquery ajax 登录验证实现代码
2009/09/23 Javascript
jQuery get和post 方法传值注意事项
2009/11/03 Javascript
ExpressJS入门实例
2015/01/14 Javascript
jQuery实现自动调整字体大小的方法
2015/06/15 Javascript
jQuery UI仿淘宝搜索下拉列表功能
2017/01/10 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
JS使用setInterval实现的简单计时器功能示例
2018/04/19 Javascript
vue的for循环使用方法
2019/02/12 Javascript
Vue实现验证码功能
2019/12/03 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
2020/11/23 Javascript
Python爬虫实战之12306抢票开源
2019/01/24 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
大学生毕业自我评价范文分享
2013/11/11 职场文书
医药代表个人的求职信分享
2013/12/08 职场文书
中学生爱国演讲稿
2013/12/31 职场文书
元旦联欢会主持词
2014/03/26 职场文书
酒店管理专业毕业生求职自荐信
2014/04/28 职场文书
竞选演讲稿范文大全
2014/05/12 职场文书
企业宣传口号
2014/06/12 职场文书
作风建设年活动总结
2014/08/27 职场文书
试用期工作表现自我评价
2015/03/06 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
宾馆客房管理制度
2015/08/06 职场文书
学困生帮扶工作总结
2015/08/13 职场文书
MySQL查询学习之基础查询操作
2021/05/08 MySQL
SpringCloud超详细讲解Feign声明式服务调用
2022/06/21 Java/Android