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 相关文章推荐
lib.utf.js
Aug 21 Javascript
jQuery验证Checkbox是否选中的代码 推荐
Sep 04 Javascript
javascript使用location.search的示例
Nov 05 Javascript
JS实现的图片预览插件与用法示例【不上传图片】
Nov 25 Javascript
easyui 中的datagrid跨页勾选问题的实现方法
Jan 18 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
Dec 07 Javascript
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
Jan 21 jQuery
三步实现ionic3点击退出app程序
Sep 17 Javascript
浅谈vue中组件绑定事件时是否加.native
Nov 09 Javascript
vue中使用WX-JSSDK的两种方法(推荐)
Jan 18 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
Mar 09 Javascript
Vue常用API、高级API的相关总结
Feb 02 Vue.js
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
Notice: Trying to get property of non-object problem(PHP)解决办法
2012/03/11 PHP
php错误、异常处理机制(补充)
2012/05/07 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
2016/03/17 PHP
详解Laravel视图间共享数据与视图Composer
2016/08/04 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
2017/10/12 PHP
PHP实现微信小程序人脸识别刷脸登录功能
2018/05/24 PHP
thinkPHP框架中layer.js的封装与使用方法示例
2019/01/18 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
JavaScript While 循环基础教程
2007/04/05 Javascript
JS自动适应的图片弹窗实例
2013/06/29 Javascript
nodejs中实现路由功能
2014/12/29 NodeJs
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
javascript弹出带文字信息的提示框效果
2016/07/19 Javascript
懒加载实现的分页&amp;&amp;网站footer自适应
2016/12/21 Javascript
vue router 配置路由的方法
2018/07/26 Javascript
快速了解Node中的Stream流是什么
2019/02/13 Javascript
vue基础之模板和过滤器用法实例分析
2019/03/12 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
2019/04/02 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
2019/06/10 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
Vue 封装防刷新考试倒计时组件的实现
2020/06/05 Javascript
Python操作Excel之xlsx文件
2017/03/24 Python
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
Python彻底删除文件夹及其子文件方式
2019/12/23 Python
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
Jogun Shop中文官网:韩国知名时尚男装网站
2016/10/12 全球购物
方太官方网上商城:销售方太抽油烟机、燃气灶、消毒柜等
2017/01/17 全球购物
Oroton中国官网:澳洲知名奢侈配饰品牌
2017/03/26 全球购物
计算机专业个人求职自荐信
2013/09/21 职场文书
临床医学系毕业生推荐信
2013/11/09 职场文书
本科毕业生求职自荐信
2014/02/03 职场文书
对公司合理化的建议书
2014/03/12 职场文书
交通事故和解协议书
2014/09/25 职场文书
教师节主题班会教案
2015/08/17 职场文书
MySQL 重写查询语句的三种策略
2021/05/10 MySQL