我的应用程序启动时创建所有路由是一个好主意吗?

时间:2015-05-10 07:12:53

标签: javascript node.js express

我在我的新网络应用程序中使用Node.js,并在应用程序启动时创建所有路径。它会以积极或消极的方式影响我的申请吗?

例如,我有几条路线:

app.get('admin/1', controller.1);
app.get('admin/2', controller.2);
app.get('admin/3', controller.3);
app.get('admin/4', controller.4);
app.get('admin/5', controller.5);

当用户请求路由时,控制器将被加载,对吗?

所以我创建了这个小函数,它将在应用程序启动时创建所有路由。

上面的代码如下:

registerRoute(app,
    [
        ['GET', '/admin/1', controller.1],
        ['GET', '/admin/2', controller.2],
        ['GET', '/admin/3', controller.3],
        ['GET', '/admin/4', controller.4],
        ['GET', '/admin/5', controller.5],
    ]
);

我认为这更有条理,但我想知道这将如何影响我的应用。

谢谢!

更新

示例:

registerRoute(app,
    [
        ['GET', '/admin', mainController.index],
        ['GET', '/admin/events', eventController.index],
    ]
);

registerRoute代码:

var registerRoute = function (app, arr) {
    for (var i = 0; i < arr.length; i++) {
        createRoute(app, arr[i]);
    }
};

function createRoute(app, arr) {
    if (arr[0] === 'GET') {
        createGET(app, arr);
    }
    ...
}

function createGET(app, arr) {
    app.get(arr[1], arr[2]);
}

module.exports = registerRoute;

这是GET动词的一个例子。

1 个答案:

答案 0 :(得分:1)

不......快递或任何其他框架。将在应用程序的开头形成一个路由表。你正在尝试的只是创建用于创建路线的包装器...所以没有区别