@InfoLabs

Есть ли шаблонизатор JS?

Столкнулся с проблемой, генерации одного 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 файла шаблона.
  • Вопрос задан
  • 505 просмотров
Пригласить эксперта
Ответы на вопрос 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Не очень понятно, что вы хотите. Склеить кучку файлов? это как-то так делается: https://superuser.com/questions/111825/a-command-l... ну или возьмите gulp.

Либо вы делаете что-то крайне нестандартное, либо делаете что-то очень простое крайне нестандартным методом Расскажите подробнее, в общем:)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 20:43
20000 руб./за проект
19 апр. 2024, в 20:11
500 руб./за проект