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 精粹读书笔记(1,2)
Feb 07 Javascript
仅用[]()+!等符号就足以实现几乎任意Javascript代码
Mar 01 Javascript
关于jquery input textare 事件绑定及用法学习
Apr 03 Javascript
利用原生JavaScript获取元素样式只是获取而已
Oct 08 Javascript
js操作table元素实现表格行列新增、删除技巧总结
Nov 18 Javascript
javascript实现粘贴qq截图功能(clipboardData)
May 29 Javascript
JS模拟的Map类实现方法
Jun 17 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
Oct 09 jQuery
JavaScript判断浏览器版本的方法
Nov 03 Javascript
vue 组件内获取actions的response方式
Nov 08 Javascript
vue2.x数组劫持原理的实现
Apr 19 Javascript
jQuery三组基本动画与自定义动画操作实例总结
May 09 jQuery
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基于闭包实现函数的自调用(递归)实例分析
2016/11/11 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
JavaScript 程序编码规范
2010/11/23 Javascript
JS中动态添加事件(绑定事件)的代码
2011/01/09 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
img onload事件绑定各浏览器均可执行
2012/12/19 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
jquery中的$(document).ready()使用小结
2014/02/14 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
jquery实现简单的全选和反选功能
2016/01/02 Javascript
使用jQuery给input标签设置默认值
2016/06/20 Javascript
jQuery动态修改字体大小的方法【测试可用】
2016/09/09 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
Angular中的interceptors拦截器
2017/06/25 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
[01:28:43]2014 DOTA2华西杯精英邀请赛5 24 DK VS CIS
2014/05/25 DOTA
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
Python3实现定时任务的四种方式
2019/06/03 Python
Python自动抢红包教程详解
2019/06/11 Python
wxPython色环电阻计算器
2019/11/18 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
Python实现手绘图效果实例分享
2020/07/22 Python
python 获取谷歌浏览器保存的密码
2021/01/06 Python
CSS3实现歌词进度文字颜色填充变化动态效果的思路详解
2020/06/02 HTML / CSS
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
Java程序员面试题
2016/09/27 面试题
为什么要使用servlet
2016/01/17 面试题
金融行业务员的自我评价
2013/12/13 职场文书
顶岗实习计划书
2014/01/10 职场文书
美术社团活动总结
2014/06/27 职场文书
旅行社计调工作总结
2015/08/12 职场文书
美德少年主要事迹材料
2015/11/04 职场文书