EJS несколько шаблонов в одном файле

#javascript #templates #web-applications #backbone.js #ejs

#javascript #шаблоны #веб-приложения #backbone.js #ejs

Вопрос:

Я играю с EJS и Backbone, и мне было интересно: есть ли способ иметь несколько шаблонов только в одном файле .ejs? У меня есть набор разных представлений, которые мне всегда нужно отображать, но тратить несколько запросов GET не кажется действительно разумным. Однако я ничего не смог найти в документации или Google. Я знаю, что есть частичные, но поскольку я рендерю на стороне клиента, это действительно не помогает.

Или есть другая библиотека шаблонов на стороне клиента, которая могла бы сделать это за меня?

Спасибо

Ответ №1:

шаблон ejs — это, по сути, строка, поэтому просто установите для каждого шаблона другую переменную. и поместите их все в один файл .js.

 //templates.js
var templates = (function(){
  this.titleTemplate = "<h1> <%= title %> </h1>";
  this.otherTemplate = "<h1> <%= otherTitle %> </h1>";
  return this;
})()
 

затем вы можете получить доступ к шаблонам в другом вашем коде следующим образом:

 templates.titleTemplate;
 

Ответ №2:

Вы можете использовать помощник, который объединяет ваши файлы. Хорошо иметь один файл для каждого шаблона, чтобы вы могли хорошо выровнять свой код и т. Д.

Проверьте Jammit: http://mikeferrier.com/2011/04/29/blogging-with-jekyll-haml-sass-and-jammit /