Вы можете использовать Array#reduce
для создания такого объекта, например:
var require = n => n;
var imports = ['foo', 'bar', 'baz', 'bat'].reduce((acc, val) => {
acc[val] = require(`./folder/${val}`);
return acc;
}, {})
console.log(imports);
Значения в массиве могут быть получены из чего-то вроде fs.readdirSync
, поэтому мы могли бы иметь, например:
const ymlFiles = fs.readdirSync('./folder')
.filter(filename => filename.split('.').reverse()[0] === 'yml');
const ymlFilesNoExt = ymlFiles.map(filename => filename.replace(/\.yml$/, ""))
const imports = ymlFilesNoExtvar require = n => n;
var imports = ['foo', 'bar', 'baz', 'bat'].reduce((acc, val) => {
acc[val] = require(`./folder/${val}`);
return acc;
}, {});
Надеюсь, это поможет,
С уважением