Подтвердить что ты не робот

Каковы плюсы и минусы использования усов с Backbone.js?

Я изучаю backbone.js для приложения Rails 3, над которым я работаю. Backbone использует underscore, который, я считаю, имеет встроенный механизм шаблонов.

Я читал хорошие вещи о усах, но задавался вопросом, следует ли мне использовать его вместо встроенного механизма шаблонов подчеркивания?

Каковы ваши мысли?

Спасибо

4b9b3361

Ответ 1

Я нахожусь на полпути через свое первое базовое приложение уровня предприятия. В настоящее время я использую символы подчеркивания, созданные в шаблонах, потому что, когда я начал, как я узнал, был с подчеркиванием. У меня нет никаких проблем с ними. Все шаблонные решения довольно прямолинейны.

С тех пор я просмотрел несколько других решений и подумываю о переключении, но только потому, что считаю, что некоторые из других решений выглядят чище. Кроме того, некоторые из решений имеют немного меньшую функциональность.

Мне нравится усы из-за его более короткого синтаксиса. Выглядит чище. Но я, если я переключусь, думаю, что собираюсь пойти с Handlebars.js.

Ручки имеют такой же короткий синтаксис, плюс тонну других функций, таких как настраиваемые вспомогательные методы и настройки контекста объекта внутри вашего шаблона. Проверьте здесь. Если бы я знал о рулях в начале моего проекта, я, вероятно, наверняка подскочил бы на него.

Я бы не стал беспокоиться о добавлении другой зависимости, о которой говорили другие. Магистральные приложения, сделанные правильно, в любом случае будут молниеносно.: D

Если у вас есть другие вопросы, дайте мне знать. Я действительно наслаждался позвоночником, поэтому я пытаюсь посмотреть помеченные сообщения. Но серьезно. Рулевое управление выглядит законным.

EDIT:

Я также хотел добавить, что документация для дескрипторов выглядит более законно, чем подчеркивание...

Ответ 2

Самый большой, о котором я могу думать, это то, что вы добавляете еще одну библиотеку, чтобы делать то, что уже делают ваши зависимости. Если синтаксис является вашим самым большим беспокойством, следующий фрагмент будет показывать подчеркивание, чтобы использовать аналогичный синтаксис.

_.templateSettings = {
  evaluate : /\{\[([\s\S]+?)\]\}/g,
  interpolate : /\{\{([\s\S]+?)\}\}/g
};

Ответ 3

Вопрос запрашивает Rails, но не помечен так; поэтому конфликт конфликтует с языками, используя синтаксис типа усы, такой как шаблоны django.

Если шаблон django сначала анализирует блок, он попытается заполнить блоки {{ }}, прежде чем писать JS.

Я использую тег шаблона verbatim django, который игнорирует блоки {{}} для решения проблемы, но теперь я хотел бы использовать синтаксис <%=%> по умолчанию, так что мне не нужно явно скрывать эти блоки, написанные в двигатель шаблона django.