Библиотека для динамической генерации элементов DOM
Здравствуйте, очень часто требуется динамически генерировать большой объем HTML кода по средствам JS.
Уходит очень много времени и сил для создание кода. Долго не мог уснуть и в голову пришла мысль, а может есть библиотека в которую ты вставляешь части HTML кода, кликаешь GO! и на выходе она отдает JS код который создает именно такой же HTML который ты ей показал ? Поделись ссылками, мыслями, может кто то слышал о нечто подобном, поиск в гугле не дал результатов. |
шаблонизатор называется :)
https://github.com/SnakeskinTpl/Snakeskin https://mozilla.github.io/nunjucks/ |
nerv_, спасибо за интерес к теме.
Я имел введу не шаблонизаторы. Попробую пояснить подробнее. Есть множество готовых сайтов, которые время от времени требуется наполнять дополнительным контентом, как правило это HTML код со множеством вложенных блоков. Условия наполнения одно, нужно наполнять на чистом JS. Конструкции типа этой совсем не хочется использовать: document.getElementById("myAnchor").innerHTML = '<p><label for="options">Options</label><input type="text" name="options"></p>'; т.к. HTML код не 1 строка, а 500 и выше строк. т.е. множество встроенных блоков и элементов. Для меня проще написать это всё на HTML, потом этот написанный код вставить в либу и чтоб она выдала чистый JS код который я вставлю в сайт. Таким образом мне не придется сидеть и писать код на чистом JS для генерации элементов DOM. Вопрос только лишь в том есть в природе подобная библиотека ? Которую не нужно подключать на сайт, ты ей скормил HTML, она выдала JS код который генерит этот HTML. |
Интересная задача, однако, хоть и не понятно где и по какой причине это могло понадобиться.
Моя рекомендация - использовать XSLT. Во первых, это доступный вариант, работает в том числе в браузере. Во вторых, можно использовать в командной строке, в том числе с утилитой make или подобными. В третьих, это фактически тот же шаблонизатор и работа с ним должна быть привычной если есть опыт использования нескольких других шаблонизаторов. |
Часовой пояс GMT +3, время: 01:45. |