github.com/foo123/Contemplate , leichte, schnelle, flexible und isomosprhische Template-Engine (jsperf-Tests und Beispieltests enthalten) (ps: ich bin der Autor)
Es funktioniert so schön (Sarkasmus). Beantwortung von 3 ersten Fragen: Client oder Server: Client Wie viel Logik: nur Grundlagen Muss es eine der schnellsten sein: Ja Ergibt keine Ergebnisse.
Salvador Dali
2
@SalvadorDali - Die "schnellsten" alle kompilieren direkt zu JS, also Ihre andere Anforderung, dass es "nur die Grundlagen" -Konflikte gibt, da sie nichts einschränken.
Mark Kahn
1
@SalvadorDali, ein Tool, das Ihnen bei der Auswahl von Dingen hilft, lässt diese Dinge nicht das tun, was Sie wollen.
Mein Favorit ist Slim ( slim-lang.com ). Besonders schön für Ruby-Fans.
Alex Nazarsky
24
In Bezug auf die Leistung habe ich festgestellt, dass es nicht die Template-Engine selbst ist, sondern mehr, wenn die Möglichkeit besteht, die Templates vorkompilieren zu können. Es wird empfohlen, alle Ihre JavaScript-Quelldateien für den Produktionsmodus in einer Datei zu verketten und zu minimieren. Daher ist es im Grunde der gleiche Schritt, auch die Vorlagen vorkompilieren.
Ich habe jQuery-Vorlage und Moustache für clientseitige Vorlagen verwendet, aber mein Favorit ist immer noch EJS, das immer viel schneller als alles andere, was ich bisher versucht habe, insbesondere im Produktionsmodus (kompiliert nach Möglichkeit zur nativen Zeichenfolgenverkettung und benötigt nur ein DOM) Zugriff, um die gerenderte Ansicht tatsächlich einzufügen). Es ist Teil des JavaScriptMVC- Frameworks und bei Verwendung mit StealJS als Abhängigkeitsmanager werden alle Vorlagen bereits für Sie in die Produktion kompiliert (die View Engine unterstützt auch Micro-, Moustache- und jQuery-Vorlagen).
Ich baue gerade mit backbone.js und es hat bereits Unterstrich-Vorlagen. Ich weiß nicht, ob ich zu anderen Vorlagen-Engines wechseln soll. Aber was ich in all dem Benchmarking-Schnurrbart sehen kann, scheint der Gewinner zu sein?
Kaha
Ich fand Moustache ziemlich langsam. Haben Sie tatsächliche Leistungsprobleme mit Ihrem Template-Motor?
Daff
Nicht wirklich, die einzige Frage, die ich hätte, ist, wie ich die Vorlagen vorkompilieren kann.
Kaha
Hängt von der Vorlagensprache ab, für die Sie sich entschieden haben. Grundsätzlich müssten Sie vor dem Minimieren während des Erstellungsprozesses ein Compilerskript ausführen. ZB so etwas für die jQuery-Vorlage github.com/wookiehangover/jquery-tmpl-jst
Daff
3
EJS ist ohne Zweifel das Beste. Es geht Ihnen einfach aus dem Weg und Sie können JavaScript codieren, es auf super saubere Weise aus der Ferne laden und '<' durch dieses '[' ersetzen, um mit Ihrer serverseitigen Codierung zu arbeiten. Alles andere ist für mich wie ein übergroßer Nerd, der versucht, es mit hübschem Syntaxabstraktionsmüll süß zu machen.
Jason Sebring
11
Sein kann PUR - es ermöglicht , mit JSON in HTML zu umwandeln Vorlagen aus Ihrem existierte html, nicht aus separater Vorlage mit spezieller Syntax.
Von der PURE-Website:
Einfaches und ultraschnelles Template-Tool zum Generieren von HTML aus JSON-Daten
Die Darstellung (HTML) und die Logik (JS) bleiben vollständig getrennt
Funktioniert eigenständig oder mit Dojo, DomAssistant, Ext JS, jQuery, Mootools, Prototype, Sizzle und Sly
Der beste Weg zu verstehen ist zu sehen, was diese Bibliothek tatsächlich tut : (aus der offiziellen Demo)
Wählen Sie die Vorlagensprache mit einer API und Syntax, die Sie am attraktivsten finden. Wenn Sie auf Leistungsprobleme stoßen, können Sie nach Alternativen suchen.
Wenn Sie keine Tabellen mit Tausenden von Zeilen erstellen, werden Sie wahrscheinlich keinen Unterschied bemerken.
Ich persönlich verwende Google Closure Templates . Ich habe es hauptsächlich gewählt, weil es auch eine Java-Implementierung hat. Ich habe noch nie Benchmarks gemacht.
Antworten:
Template-Engine-Chooser! - Tool zur Auswahl der richtigen Vorlagen-Engine für ein Projekt.
quelle
In Bezug auf die Leistung habe ich festgestellt, dass es nicht die Template-Engine selbst ist, sondern mehr, wenn die Möglichkeit besteht, die Templates vorkompilieren zu können. Es wird empfohlen, alle Ihre JavaScript-Quelldateien für den Produktionsmodus in einer Datei zu verketten und zu minimieren. Daher ist es im Grunde der gleiche Schritt, auch die Vorlagen vorkompilieren.
Ich habe jQuery-Vorlage und Moustache für clientseitige Vorlagen verwendet, aber mein Favorit ist immer noch EJS, das immer viel schneller als alles andere, was ich bisher versucht habe, insbesondere im Produktionsmodus (kompiliert nach Möglichkeit zur nativen Zeichenfolgenverkettung und benötigt nur ein DOM) Zugriff, um die gerenderte Ansicht tatsächlich einzufügen). Es ist Teil des JavaScriptMVC- Frameworks und bei Verwendung mit StealJS als Abhängigkeitsmanager werden alle Vorlagen bereits für Sie in die Produktion kompiliert (die View Engine unterstützt auch Micro-, Moustache- und jQuery-Vorlagen).
quelle
Sein kann PUR - es ermöglicht , mit JSON in HTML zu umwandeln Vorlagen aus Ihrem existierte html, nicht aus separater Vorlage mit spezieller Syntax.
Von der PURE-Website:
Der beste Weg zu verstehen ist zu sehen, was diese Bibliothek tatsächlich tut : (aus der offiziellen Demo)
Alle Demos sind hier
quelle
LinkedIn ging mit Dust.js http://akdubya.github.com/dustjs/
quelle
Wählen Sie die Vorlagensprache mit einer API und Syntax, die Sie am attraktivsten finden. Wenn Sie auf Leistungsprobleme stoßen, können Sie nach Alternativen suchen.
Wenn Sie keine Tabellen mit Tausenden von Zeilen erstellen, werden Sie wahrscheinlich keinen Unterschied bemerken.
Ich persönlich verwende Google Closure Templates . Ich habe es hauptsächlich gewählt, weil es auch eine Java-Implementierung hat. Ich habe noch nie Benchmarks gemacht.
quelle