是否使用compose将路由和中间件添加到Express应用程序的反模式?

时间:2016-11-05 16:58:16

标签: javascript node.js express functional-programming

我正在开发一个小型服务器,最终将用作未来服务器的样板。由于订单对中间件很重要,因此我决定将它们组合在一起以明显的顺序组合在一起。我的目标是为中间件和路由添加一个抽象级别,以便以后可以将它们换出,而无需对入口点进行太多更改。

鉴于此信息,使用compose似乎是一种反模式,因为中间件/路由本身是不纯的,并修改传入的(app)

'use strict';

import { createServer } from 'http';
import express from 'express';
import { flowRight as compose } from 'lodash';

import { system, environment } from './config';
import routes from './routes';

const setup = compose(routes, system);
const app = setup(express());

createServer(app)
    .listen(environment.port, environment.ip, () => {
        console.log('Server running!');
    });

0 个答案:

没有答案