nodejs( koa2 )配置 browserHistory

Posted hochine

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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}) 具体可以查官网看。












以上是关于nodejs( koa2 )配置 browserHistory的主要内容,如果未能解决你的问题,请参考以下文章

Nodejs Koa2框架中使用Swagger

有人用 koa2 框架吗

NodeJS | koa2框架创建http服务

一个基于nodejs+koa2构建的简单轻量级MVC框架

[转]nodeJs--koa2 REST API

Nodejs koa2读取服务器图片返回给前端直接展示