express中间件之 connect-history-api-fallback

https://github.com/bripkens/connect-history-api-fallback#usage

介绍

单页应用程序(SPA)通常仅使用可由Web浏览器访问的一个索引文件:通常index.html。然后,通过HTML5历史记录API的帮助,通常会使用JavaScript来处理应用程序中的导航 。这导致用户点击刷新按钮或直接访问着陆页之外的页面时出现问题,例如/help或者/help/online 当Web服务器绕过索引文件以在该位置找到文件时。当您的应用程序是SPA时,Web服务器将无法尝试检索该文件,并向用户返回404 - 未找到的 消息。

这个微小的中间件解决了一些问题。具体来说,/index.html只要有满足以下条件的请求,它将会将请求的位置更改为您指定的索引(默认为):

请求是GET请求
接受text/html,
不是直接的文件请求,即请求的路径不包含 .(DOT)字符
与options.rewrites中提供的模式不符(参见下面的选项)

app.use(history()); 这一句应该放在 所有后台调用接口之后,否则会造成所有接口无法调用

posted @ 2017-10-09 20:10  _白马非马  阅读(2813)  评论(0编辑  收藏  举报