Я использую модуль ejs
для проверки шаблона ejs и переменных, которые поступают из панели управления admin:
try {
resolve(ejs.render(template, variables))
} catch (error) {
reject(error)
}
И если есть некоторые проблемы с этим шаблоном, это вызывает ошибку, и я могу отправить ее клиенту.
Кроме того, у меня есть шаблон усы для проверки. Я использую тот же подход:
try {
resolve(mustache.render(template, variables))
} catch (error) {
reject(error)
}
Но mustache
вообще не бросают ошибку, и если нет переменной, она просто заменяет ее пустой строкой.
Как я могу решить эту проблему? Необходимо правильно проверить шаблоны.
Если вы используете mustache.js, у него нет способа, чтобы он выдавал ошибки для неопределенных переменных, вот открытая проблема. Кажется, это хорошо в соответствии с спецификацией Mustache.
По умолчанию переменная "miss" возвращает пустую строку. Обычно это можно настроить в вашей библиотеке Mustache.
Поэтому, если вам действительно нужно проверить, что нет неопределенных переменных, вам понадобится использовать другую библиотеку JS для Mustache (если она есть, я не уверен) или надеюсь, что они добавят эту функцию.