博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
koa2-connect-history-api-fallback 使用
阅读量:6480 次
发布时间:2019-06-23

本文共 987 字,大约阅读时间需要 3 分钟。

单页面应用程序(SPA)通常使用一个web浏览器可以访问的索引文件,比如index.html,然后,在HTML5 History API的帮助下(vue-router就是基于History API实现的),借助JavaScript处理应用程序中的导航。当用户单击刷新按钮或直接通过输入地址的方式访问页面时,会出现找不到页面的问题,因为这两种方式都绕开了History API,而我们的请求又找不到后端对应的路由,页面返回404错误。

connect-history-api-fallback中间件很好的解决了这个问题。具体来说,每当出现符合以下条件的请求时,它将把请求定位到你指定的索引文件(默认为/index.html)。

请求是Get请求

请求的Content-Type类型是text/html类型
不是直接的文件请求,即所请求的路径不包含.(点)字符
不匹配option参数中提供的模式

 

实际例子

前端使用vue搭建页面,然后build,生成静态的js css 文件,把文件放在后端的静态资源文件public中,如果直接在浏览器上访问 localhost:8000/xxxx 后端找不到xxxx路由就会报404

使用koa2-connect-history-api-fallback之后,koa就会把所有的get方式的请求都发给/index.html,然后由vue-router来接管页面路由

  

const history = require('koa2-connect-history-api-fallback');//这句代码需要在koa-static上面 app.use(history()); app.use(require('koa-static')(path.join(__dirname, './public'))));

  

connect-history-api-fallback中间件有几个可选配置项:

index:配置默认的index页面rewrites:通过正则配置,配置相关路由verbose:日志选项htmlAcceptHeaders:覆盖Accepts,更改请求的dataType配置disableDotRule

  

转载于:https://www.cnblogs.com/xiaosongJiang/p/10090903.html

你可能感兴趣的文章
Windows 10中常用的15项PowerShell高级任务
查看>>
JavaScript中的遍历详解
查看>>
5G比4G强在哪?高性能、低延迟与高容量
查看>>
物联网时代,智能硬件将如何影响我们的生活
查看>>
企业向云端迁移 这13大挑战一定要清楚
查看>>
如何在部署中和部署后降低私有云成本?
查看>>
存储革命风暴:SCM为何将替代闪存?
查看>>
《资本说》对话银杏谷陈向明
查看>>
影响光伏广告牌发电的几个关键因素
查看>>
唐青昊:Marvel Team 这一年 | 黑客 2016
查看>>
刘强东飞27个小时为联想站台,联想拿身家性命押注AI
查看>>
传统煤炭企业跨入了光伏行业 项目并网运行顺利
查看>>
微软和IBM的云服务变革:区块链即服务
查看>>
TensorFlow教程之资源 4.2 BibTex 引用
查看>>
在创业者中做创业,Onevest 宣布收购创业者社交平台FounderDating
查看>>
面向企业的 Windows 预览体验计划正式上线
查看>>
Ascenty公司在拉丁美洲建设数据中心获得投资
查看>>
上海信息化建设进入新一轮发展 首席信息官等创新不断
查看>>
昔日光伏大佬英利进行债务重组 信达资产或入主
查看>>
数据中心应该如何有效应对酷暑的考验
查看>>