如何在单个数组中定义多个路由

How to define multiple routes in single array

我有两个不同版本的 Api v1,v2.There 是两个版本的两个不同文件夹。我在 routes.js 中分别调用两个版本的所有路由文件,如下所示:

 module.exports = function (server) {
    const v1Path = "v1";
    const v2Path = "v2";
//v1 files
    require("./"+v1Path+"/routes/a")(server);
    require("./"+v1Path+"/routes/b")(server);
    require("./"+v1Path+"/routes/c")(server);
//v2 files
    require("./"+v2Path+"/routes/a")(server);
    require("./"+v2Path+"/routes/b")(server);
    require("./"+v2Path+"/routes/c")(server);
    require("./"+v2Path+"/routes/d")(server);

};

我在我的 server.js 中这样调用 routes.js 文件:

var routes = require('./routes')(server);

现在我的问题是,如何创建一个包含 v1 和 v2 的数组。并在一个循环中路由所有文件。请大家帮帮我。

你可以这样做:

module.exports = function (server) {
    const versions = {
       'v1': ['a', 'b', 'c'],
       'v2': ['a', 'b', 'c', 'd']
    };

    Object.keys(versions).forEach(function(version){
        versions[version].forEach(function(route){
            require('./' + version + '/routes/' + route)(server);
        });
    });
};