Предположим, у меня есть файл шаблона HTML, содержащий такую строку:
<p> >>LEFT PART<< {{Data}} >>RIGHT PART<< </p>
Предположим, что левая и правая части этой строки не содержат ничего подобного {{Data}}
, и я хочу реализовать функцию, которая принимаетэтот файл и объект похож на {Data:"My nice data",Name:"Sebastian"}
и возвращает файл, содержащий взамен
<p> >>LEFT PART<< My nice data >>RIGHT PART<< </p>
. Это легко сделать с помощью string.prototype.replace. Но теперь у меня есть пара вопросов:
- Как движки шаблонов JS выполняют подобные задачи? Чтобы сделать мой вопрос конкретным и конкретным, скажем, я говорю о Jade, но вы можете описать другой движок / фреймворк, такой как Pug, Dot и т. Д. Используют ли они регулярные выражения или некоторые хитрые алгоритмы поиска подстроки?
- Потеряю ли я ощутимую скорость выполнения, если использую регулярные выражения, а левая и правая части строки содержат ~ 10000 букв? Или HTML-файл содержит более 100 строк кода.
PS Я гуглил эти вопросы, но большинство ответов описывают, как визуализировать страницу с помощью фреймворка / движка, а не как они это делают.