Столкнулся с проблемой, генерации одного js файла на основании классов es6. Что я имею ввиду:
Есть несколько файлов по типу:
export default class Name...N {
constructor() {
console.log('HELLO BLOCK');
}
blablabla1() {}
blablabla2() {}
}
Есть общий Generate:
export default class Generate {
constructor() {
this.blocks = {/*...*/};
this.buffer = [];
}
init() {
this.include();
}
include() {
this.blocks.forEach((item) => {
let theme = item.theme || 'default';
let path = config.root + config.src.blocks + '/' + item.name + '/' + theme + '/js/main.js';
try {
this.buffer[item.name] = require(path).default;
} catch (e) {
/*....*/
}
});
}
}
В итоге имеем объект buffer, в котором содержатся содержимое N-го кол-ва main.js классов.
Необходимо собрать конструкцию типа:
class Generated {
constructor() {
/*...код не из подключенных блоков*/
}
set() {/*какая-то запись*/}
}
class Name...1 {/*....*/}
class Name...2 {/*....*/}
class Name...3 {/*....*/}
Зачем, для чего и тд. и тп: Есть сборщик проекта, который собирает конечную html страницу по конфигурации json:
[
{/*block1*/},
{/*block2*/},
]
Проблем с stylus, pug не возникло, именно собрать в одно тело несколько блоков, при этом сохранив возможность задавать определенные параметры. А вот с JS есть такая проблема, так как ES6 не препроцессор как stylus,pug вот оно и получается что я не могу описать логику формирования общего JS файла шаблона.