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中$this和$(this)的区别介绍(一看就懂)
Jul 06 Javascript
jQuery限制图片大小的方法
May 25 Javascript
你知道setTimeout是如何运行的吗?
Aug 16 Javascript
jQuery鼠标事件总结
Oct 13 Javascript
javascript使用递归算法求两个数字组合功能示例
Jan 03 Javascript
使用vue-resource进行数据交互的实例
Sep 02 Javascript
浅谈react前后端同构渲染
Sep 20 Javascript
input type=file 选择图片并且实现预览效果的实例
Oct 26 Javascript
vue.js在标签属性中插入变量参数的方法
Mar 06 Javascript
微信小程序实现左右列表联动
May 19 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
Nov 29 Javascript
JavaScript点击按钮生成4位随机验证码
Jan 28 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 jQuery表单,带验证具体实现方法
2014/02/15 PHP
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
PHP 接入支付宝即时到账功能
2016/09/18 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
ajaxControlToolkit AutoCompleteExtender的用法
2008/10/30 Javascript
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
2011/10/29 Javascript
JavaScript eval() 函数介绍及应用示例
2014/07/29 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
浅谈bootstrap源码分析之tab(选项卡)
2016/06/06 Javascript
JS删除数组里的某个元素方法
2018/02/03 Javascript
JavaScript实现计算圆周率到小数点后100位的方法示例
2018/05/08 Javascript
Koa代理Http请求的示例代码
2018/10/10 Javascript
基于JavaScript实现每日签到打卡轨迹功能
2018/11/29 Javascript
js实现简单进度条效果
2020/03/25 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
2020/07/26 Javascript
探究python中open函数的使用
2016/03/01 Python
Python3.x对JSON的一些操作示例
2017/09/01 Python
python实现百万答题自动百度搜索答案
2018/01/16 Python
Python简单生成随机数的方法示例
2018/03/31 Python
解决python flask中config配置管理的问题
2019/07/26 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
三星印度官网:Samsung印度
2019/08/03 全球购物
小学生自我评价范例
2013/09/24 职场文书
模范家庭事迹材料
2014/02/10 职场文书
新闻发布会主持词
2014/03/28 职场文书
学生违纪检讨书200字
2014/10/21 职场文书
2014年实习班主任工作总结
2014/11/08 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
拯救大兵瑞恩观后感
2015/06/09 职场文书
房地产置业顾问工作总结
2015/10/23 职场文书
CSS3点击按钮圆形进度打钩效果的实现代码
2021/03/30 HTML / CSS
Python3 多线程(连接池)操作MySQL插入数据
2021/06/09 Python
python机器学习创建基于规则聊天机器人过程示例详解
2021/11/02 Python
Android中View.post和Handler.post的关系
2022/06/05 Java/Android