nodejs( koa2 )配置 browserHistory

前言

既然能搜到并且还点进来看这篇文章,
那么肯定是知道后台为什么要配置 browserHistory,
也肯定知道为什么非要去用相对来说更麻烦的吧browserHistory,
而不用更简单点的不需要后台配置的 hashHistory ,
以及 browserHistory 和 hashHistory 的区别。
好吧,如果不知道,可以去搜一下,
很多很多。这里不多做说明,
废话不多说, 直接上代码!

正文

我是用脚手架 koa-generator 生成的 koa2项目。前端是用 react + antd 做的,路由是用的 browserHistory。

1、 首先我们需要下载一个依赖 connect-history-api-fallback

npm install connect-history-api-fallback --save 

2、 在根目录app.js中引入依赖。

const connectHistory = require('connect-history-api-fallback');

app.use(() => {
    const middleware = connectHistory();
    const noop = ()  => {
    
    };
  
    return async (ctx, next)=> {
        middleware(ctx, null, noop);
        await next();
    };
});

PS: 这里其实是写了一个中间件,
这里的代码一定要放在使用其他中间件之前,
如果不知道位置, 那么你就放在其他app.use() 之前 。
connectHistory 也可以传入配置,
比如在控制台显示转发的日志 connectHistory({verbose: true}) 具体可以查官网看。

posted @ 2018-08-16 20:17  HoChine  阅读(922)  评论(0编辑  收藏  举报