2009-12-08 3 views
4

Кто-нибудь использовал систему шаблонов javascript? Я использовал тот, который встроен в JavascriptMVC, но теперь я занимаюсь разработкой на стороне сервера, поэтому мне нужна более оптимизированная/более тонкая версия.Javascript шаблон системы - PURE, EJS, jquery плагин?

Я нашел 2. 1 является EJS, который является частью, включенной в JavascriptMVC

http://embeddedjs.com/

и другой Pure-, которые вы можете использовать с JQuery

http://beebole.com/pure/index.html

кто-нибудь имел никакого опыта ни с одним, или есть что-то еще, что я не смог найти? возможно, плагин типа jquery или что-то в этом роде.

В основном мне нужно заменить части документа HTML в javascript на runtine без вызова сервера.

но моя замена HTML-код должен быть сохранен во внешнем файле, а не встроенный в JS

Любая помощь действительно оценили

благодаря

+0

Марк, если это все еще живо, я строй нашего приложения исключительно с PURE, и если у вас есть какие-либо вопросы вы можете оставить их на форуме: http://groups.google.com/group/Pure-Unobtrusive-Rendering-Engine – Mic

ответ

0

Prototype Template быстро и легко, если прототип является опцией. Если вам действительно нужен плагин jQuery, я написал port of it (бесстыдный плагин).

0

Я использовал EJS экстенсивно. Исходя из фона Rails, он идеально подходит для моих нужд, поскольку он настолько похож на ERB.

Я бы порекомендовал его. Он активно поддерживается, и разработчики очень отзывчивы. Кроме того, в тестах, которые я запускал, это очень быстро. Я использую его для мобильного сайта для iPhone/Android.

В течение нескольких других, проверить этот блог: http://www.viget.com/extend/benchmarking-javascript-templating-libraries/

0

Вот одна стенд, изготовленный на заказ решение, которое я написал, что невероятно мал и мимику template system прототипа:

var templater = function(template, tokens, tokenIdentifier) { 
    tokenIdentifier = tokenIdentifier || "$"; 
    // Decode HTML encoded template tokens %7B -> {, %7D -> } 
    template = template.replace(
     new RegExp("\\" + tokenIdentifier + "%7B(\\w+)%7D", "gi"), 
     tokenIdentifier + "{$1}" 
    ); 

    for (var i in tokens) { 
     if (tokens.hasOwnProperty(i)) { 
      template = template.replace(
       new RegExp("\\"+tokenIdentifier+"\\{"+i+"\\}", "g"), 
       tokens[i] 
      ); 
     } 
    } 

    return template; 
}; 

Usage:

templater("Hi, my name is ${name}", {name: "Bobo the Clown"}); 
// The token identifier defaults to $, but can be changed arbitrarily 
templater("#{title} #{surname} #{verb} #{noun}", {title: "Dr.", surname: "Amazing", verb: "packed", noun: "sand"}, "#"); 

Выход:

Hi, my name is Bobo the Clown 
Dr. Amazing packed sand 
1

Вот один из реализованных в jQuery для языка шаблонов Smarty. http://www.balupton.com/sandbox/jquery-smarty/demo/

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

Вы также можете подключаться к переменным изменениям с помощью события onchange.Так что это полезно для произносимых эффектов или AJAX, когда говорят, что переменная «страница» изменяется ;-)

+0

Это фактически только что обновлено. Ну стоит посмотреть. – balupton

-1

Если вы используете Script#, вы можете рассмотреть SharpTemplate, сильно типизированный, эффективный HTML-шаблонный движок.

1

Если вы используете фреймворк jQuery, я могу порекомендовать вам плагин jQote. Какой-то парень взял двигатель Джона Ресига и упаковал его в плагин, что упростило адский шаблон для javascript.

http://aefxx.com/jquery-plugins/jqote

Ура!

+0

В то же время jQote2 был выпущен: http://aefxx.com/jquery-plugins/jqote2/ – chiborg

0

Mustache.js работал хорошо для меня до сих пор. Он доступен для многих языков на стороне сервера (Ruby, Python, Clojure и т. Д.), Поэтому вы можете использовать его в нескольких контекстах.

2

HAML Кофе.
Сочетание двух лучших метаязыков.

https://github.com/9elements/haml-coffee

+0

Существует также драгоценный камень Ruby, который позволяет использовать haml-coffee в конвейере активов или в качестве шаблона наклона: https://github.com/netzpirat/haml_coffee_assets – Netzpirat

Смежные вопросы