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 相关文章推荐
ASP中用Join和Array,可以加快字符连接速度的代码
Aug 22 Javascript
JavaScript 基础篇之运算符、语句(二)
Apr 07 Javascript
使用jquery实现图文切换效果另加特效
Jan 20 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
Jul 01 Javascript
js移动焦点到最后位置的简单方法
Nov 25 Javascript
AngualrJs清除定时器遇到的坑
Oct 13 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
Aug 13 Javascript
修改vue+webpack run build的路径方法
Sep 01 Javascript
深入理解Angularjs 脏值检测
Oct 12 Javascript
关于微信小程序登录的那些事
Jan 08 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
May 24 Javascript
详解JavaScript中new操作符的解析和实现
Sep 04 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性能优化的介绍
2013/06/20 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
2014/12/19 PHP
php从字符串创建函数的方法
2015/03/16 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
JS request函数 用来获取url参数
2010/05/17 Javascript
关于图片按比例自适应缩放的js代码
2011/10/30 Javascript
js点击页面其它地方将某个显示的DIV隐藏
2012/07/12 Javascript
Javascript实现滑块滑动改变值的实现代码
2013/04/12 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
2014/06/03 Javascript
jquery+css3打造一款ajax分页插件(自写)
2014/06/18 Javascript
JavaScript中的无阻塞加载性能优化方案
2014/10/10 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
javascript去掉代码里面的注释
2015/07/24 Javascript
微信小程序 swiper组件构建轮播图的实例
2017/09/20 Javascript
Vue实现按钮旋转和移动位置的实例代码
2018/08/09 Javascript
jQuery实现获取及设置CSS样式操作详解
2018/09/05 jQuery
vue项目开发中setTimeout等定时器的管理问题
2018/09/13 Javascript
Angular Material Icon使用详解
2018/11/07 Javascript
Element-ui DatePicker显示周数的方法示例
2019/07/19 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
Django应用程序中如何发送电子邮件详解
2017/02/04 Python
用Python实现随机森林算法的示例
2017/08/24 Python
python+django加载静态网页模板解析
2017/12/12 Python
Python实现带参数与不带参数的多重继承示例
2018/01/30 Python
详解Python logging调用Logger.info方法的处理过程
2019/02/12 Python
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
Bandier官网:奢侈、时尚前卫的健身服装首选目的地
2020/07/05 全球购物
公司年会演讲稿范文
2014/01/11 职场文书
英语分层教学实施方案
2014/06/15 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
村党的群众路线教育实践活动总结材料
2014/10/31 职场文书
利用Pycharm连接服务器的全过程记录
2021/07/01 Python
Python如何利用pandas读取csv数据并绘图
2022/07/07 Python