Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在我的应用程序启动时创建所有路由是一个好主意吗?_Javascript_Node.js_Express - Fatal编程技术网

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

Javascript 在我的应用程序启动时创建所有路由是一个好主意吗?,javascript,node.js,express,Javascript,Node.js,Express,我在新的web应用程序中使用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); 当用户请求路由时,控制器将

我在新的web应用程序中使用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],
    ]
);
以及注册表项代码:

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;
var registerRoute=函数(应用程序,arr){
对于(变量i=0;i

这是GET动词的一个例子。不。。。Express或任何其他框架。将在应用程序开始时形成路由表。您正在尝试的只是创建用于创建路由的包装器。。。所以这没有区别

对不起,我不明白你到底在问什么?如果你是问这个问题,你能给我们看一下registerRoute()的代码吗?而且,
controller.1
不是合法的Javascript语法。标识符不能以数字开头。是的,我可以。。。请稍等@jfriend00