Как импортировать несколько локальных модулей рекурсивно? - PullRequest
0 голосов
/ 09 мая 2019

Я ищу способ не делать этого не потому, что код уродлив или неэффективен, но представьте, что если я импортирую сотни конечных точек, этот файл index.js станет очень большим.

import express from 'express';
import helmet from 'helmet';
...
import endpoint1 from './src/endpoints/endpoint1.route';
import endpoint2 from './src/endpoints/endpoint2.route';
import endpoint3 from './src/endpoints/endpoint3.route';
...
app.use('/endpoint1', endpoint1);
app.use('/endpoint1', endpoint2);
app.use('/endpoint1', endpoint3);
...
server.listen(port, host, () => {
  console.log('server started and listening at ', host, port);
});

И вместо этого сделайте какой-нибудь красивый и короткий код, такой как этот, короткий, стабильный и совершенный, потому что в будущем больше не потребуется никаких модификаций, даже когда появится больше модулей.

import express from 'express';
import helmet from 'helmet';
...
const endpoints = [];
for (endpoint in './**/*.route') {
   import "endpoint${someIndex}" from endpoint;
   endpoints.push("endpoint${someIndex}");
}
...
enpoints.forEach((endpoint) => {
    app.use('/${endpoint}', endpoint);
})
...
server.listen(port, host, () => {
  console.log('server started and listening at ', host, port);
});

Есть идеи?

...