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 相关文章推荐
直接生成打开窗口代码,不必下载
May 14 Javascript
基于jQuery的一个扩展form序列化到json对象
Dec 09 Javascript
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
Jan 13 Javascript
jquery无缝向上滚动实现代码
Mar 29 Javascript
JavaScript中使用stopPropagation函数停止事件传播例子
Aug 27 Javascript
jQuery实现分隔条左右拖动功能
Nov 21 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
Dec 07 Javascript
js+canvas绘制矩形的方法
Jan 28 Javascript
AngularJS 中使用Swiper制作滚动图不能滑动的解决方法
Nov 15 Javascript
AngularJS服务service用法总结
Dec 13 Javascript
Vuejs+vue-router打包+Nginx配置的实例
Sep 20 Javascript
JavaScript 中for/of,for/in 的详细介绍
Nov 17 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 imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
PHP设计模式之注册树模式分析
2018/01/26 PHP
php实现微信企业转账功能
2018/10/02 PHP
Laravel获取所有的数据库表及结构的方法
2019/10/10 PHP
javascript innerHTML、outerHTML、innerText、outerText的区别
2008/11/24 Javascript
js 金额文本框实现代码
2012/02/14 Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
2013/05/07 Javascript
JS禁用浏览器退格键实现思路及代码
2013/10/29 Javascript
jquery交替变换颜色的三种方法 实例代码
2013/11/19 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
BootStrap的双日历时间控件使用
2017/07/25 Javascript
nodejs操作mongodb的填删改查模块的制作及引入实例
2018/01/02 NodeJs
vue2.0学习之axios的封装与vuex介绍
2018/05/28 Javascript
Vue项目中添加锁屏功能实现思路
2018/06/29 Javascript
JS逻辑运算符短路操作实例分析
2018/07/09 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
实用的Vue开发技巧
2019/05/30 Javascript
VUE安装使用教程详解
2019/06/03 Javascript
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
python的即时标记项目练习笔记
2014/09/18 Python
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
浅谈Python 列表字典赋值的陷阱
2019/01/20 Python
numpy下的flatten()函数用法详解
2019/05/27 Python
django页面跳转问题及注意事项
2019/07/18 Python
Jupyter notebook 启动闪退问题的解决
2020/04/13 Python
Python建造者模式案例运行原理解析
2020/06/29 Python
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
公司募捐倡议书
2014/05/14 职场文书
生物科学专业自荐书
2014/06/20 职场文书
房产转让协议书(2014版)
2014/09/30 职场文书
房屋转让协议书
2014/10/18 职场文书
反四风问题学习心得体会
2016/01/22 职场文书
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server