nuxt静态部署_nuxt静态部署 layouts/error.vue配置问题

实现效果:根据官网建立layouts/error.vue文件,目的,在用户输入路由错误(即非router配置的路由)时,响应一个错误的提示页面而不是使用浏览器报错的形式,如:输入 /a(a页面不存在) 能跳转到error页面  !

问题:官网只提到了创建error及内容编写,当你在开发环境(npm run dev)运行时输入错误页面能定到error页面,没有问题。但是,注意了,当使用npm run generate静态打包后,在进行相同操作,你会发现error并没有定到(即是浏览器报错),在生成的包文件夹下你会发现没有404的页面(正确的配置error打包后会生成404.html);然后就是我疯狂的查官网和别的大神资料,然后都是用的官网文档一笔带过(也不晓得他们测没得,还是说都是用的服务端部署),注:前面提到服务端部署,这里我就提一下原因,npm run dev和服务端部署其实是同样的环境(就是npm run dev也是服务端部署),所以你会发现这两个都能正常定向到error页面,但是静态部署是静态托管,是另一种模式。所以你打包后会发现开发环境定向错误页面,但是打包后就定不到而是浏览器报错了;

花了几天时间查官网查大神,都是一笔带过,个人的犟脾气就上来了,于是就去官网的git上把他们官网的demo下下来查,多次测试后发现是nuxt.config.js中的generate需要进行配置才能使静态部署的error打包成功,官方文档并没有解释参数对这个起作用(这也是让我懵逼的巨大bug很讨厌),generate: {

fallback: true, // 在将生成的站点部署到静态主机时,可以使用此文件。它将回退到模式:mode:'spa'。 主要是这个api的作用 打包生产404

interval: 150 //两个渲染周期之间的间隔,以避免使用来自Web应用程序的API调用互相干扰。 建议加这个是因为error里面官网会叫你引入props:["error"],这个时间间隔便是避免跳转后传值造成api冲突 我测试150是所有页面通过(之前设置100基本通过但是有一个页面始终报错白屏,也是纠结了好久,个人有个写代码的坏习惯:明明同样的代码页面引入方式一模一样,就是别的都能过唯独一个不过,就不会想配置代码问题(框架原理),总是会在这样的情况卡很久,难受)

}

设置这generate两个参数后,再打包进文件夹会发现多了个404页面,启动服务器(dist下http-server)运行就能进入404错误页面了,剩下bug如白屏就是上述问题及代码问题了;

以上,特此记录,防止以后忘记又掉坑里,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值