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 相关文章推荐
c#和Javascript操作同一json对象的实现代码
Jan 17 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
May 23 Javascript
JS 实现获取打开一个界面中输入的值
Mar 19 Javascript
表格单元格交错着色实现思路及代码
Apr 01 Javascript
javascript常用代码段搜集
Dec 04 Javascript
JavaScript中的console.dir()函数介绍
Dec 29 Javascript
jQuery实现HTML表格单元格的合并功能
Apr 06 Javascript
输入框点击时边框变色效果的实现方法
Dec 26 Javascript
jQuery+SpringMVC中的复选框选择与传值实例
Jan 08 jQuery
微信小程序如何像vue一样在动态绑定类名
Apr 17 Javascript
webpack配置打包后图片路径出错的解决
Apr 26 Javascript
详解react组件通讯方式(多种)
May 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
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
简单JS代码压缩器
2006/10/12 Javascript
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
JavaScript实现级联菜单的方法
2015/06/29 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
2016/01/26 Javascript
JavaScript中各种引用类型的常用操作方法小结
2016/05/05 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
2019/01/27 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
关于Layui Table隐藏列问题
2019/09/16 Javascript
Element-Ui组件 NavMenu 导航菜单的具体使用
2019/10/24 Javascript
Vue实现剪切板图片压缩功能
2020/02/04 Javascript
基于canvas实现手写签名(vue)
2020/05/21 Javascript
Python字符转换
2008/09/06 Python
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
Django与JS交互的示例代码
2017/08/23 Python
Python内置函数——__import__ 的使用方法
2017/11/24 Python
Python操作Redis之设置key的过期时间实例代码
2018/01/25 Python
Python 串口读写的实现方法
2019/06/12 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
如何解决django-celery启动后迅速关闭
2019/10/16 Python
Python socket模块ftp传输文件过程解析
2019/11/05 Python
python3获取文件中url内容并下载代码实例
2019/12/27 Python
40个你可能不知道的Python技巧附代码
2020/01/29 Python
python3.7添加dlib模块的方法
2020/07/01 Python
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
校园安全教育广播稿
2014/02/17 职场文书
《小小雨点》教学反思
2014/02/18 职场文书
初三新学期计划书
2014/05/03 职场文书
敬老院献爱心活动总结
2014/07/08 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
mybatis-plus模糊查询指定字段
2022/04/28 Java/Android