В документации Underscore.js говорится следующее (выделение добавлено):
Если разделители в стиле ERB не являются вашей чашкой чая, вы можете изменить настройки шаблона Underscore наиспользуйте разные символы, чтобы выделить интерполированный код.Определите интерполированное регулярное выражение для сопоставления выражений, которые следует дословно интерполировать, escape-регулярное выражение для сопоставления выражений, которые должны быть вставлены после экранирования HTML , и регулярное выражение для сопоставления выражений, которые должны оцениваться без вставки в результирующийstring.
Таким образом, вы можете просто дать объекту _.templateSettings
свойство escape
:
_.templateSettings.escape = /\{\{-(.*?)\}\}/g
>>> compiled = _.template("Escaped: {{- value }}\nNot escaped: {{ value }}")
>>> compiled({value: 'Hello, <b>world!</b>'})
"Escaped: Hello, <b>world!</b>
Not escaped: Hello, <b>world!</b>"