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}) 具体可以查官网看。