Я пытаюсь создать собственный шаблонизатор в javascript, но у меня возникают проблемы с началом работы, так как я не могу извлекать токены с помощью регулярного выражения. Вот требования:
- Переменные определяются следующим образом:
$(variable)
- Функции:
$(name arg1 "this is arg2 but it contains whitespaces.")
- Аргументы функции могут содержать другие переменные
$(name $(variable) arg2)
И переменные, и функции будут отображаться asyn c. Например: получите значение для $(variable)
из базы данных, затем замените его.
Это не для рендеринга страницы html, а просто для замены строки, введенной пользователем на бэкэнде.
Изменить
Дополнительная информация: Предположим, пользователь вводит следующую строку: $(id $(lowercase John))
В бэкэнд-приложении необходимо выполнить:
- Преобразовать «John» в нижний регистр.
- Получить идентификатор для «john» из базы данных.
Это только простой пример, демонстрирующий, как это должно работать.
Существуют ли библиотеки, которые могут помочь мне в этом? Если нет, есть идеи, как это реализовать?
EDIT 2: Я пробовал использовать Mustache , и я изменил разделители на $ (), однако функция (раздел ) теги не удовлетворяют требованиям. В Mustache для функций я должен сделать следующее: $(#name) $(variable) "this is arg2 but it contains whitespaces."$(/name)
также он не поддерживает асинхронный c рендеринг.