I have two different versions of my Api v1 and v2.There is two different folder of both version. And i am call all routes file of both versions separately in my routes.js like this:
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);
};
I am calling routes.js file in my server.js like this:
var routes = require('./routes')(server);
Now my question is, how could i create an array which contains both v1 and v2. and routes all files in a single loop. please help me guys.
You could do something like this:
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);
});
});
};