Erstklassiger Zweigmotor für node.js
Wir glauben, dass ein erstklassiger Zweigmotor in der Lage sein sollte, jede Vorlage genau das gleiche Ergebnis wie der offizielle PHP-Motor zu rendern. Das bedeutet, dass es 100% der durch die Sprachspezifikationen definierten Syntax implementieren sollte und diese Syntax mithilfe der PHP -Logik rendern sollte.
Wir glauben auch, dass ein erstklassiger Zweigmotor in der Lage sein sollte, sich leicht nachzuholen, wenn sich die Zweigspezifikationen entwickeln. Seine Codearchitektur und Philosophie sollten dann so nah wie möglich sein wie die PHP -Implementierung.
Schließlich glauben wir, dass eine erstklassige Zweig-Engine es Benutzern ermöglichen sollte, auf ihren Erfahrungen mit TwigPhp aufzubauen und Unterstützung von der riesigen Community zu erhalten, die damit einhergeht.
Das ist Twing. Eine nachontage-firstige Motor, die 100% der TwigPHP-Integrationstests besteht, ist so nah wie möglich an der Codestruktur und einer AS-as-as-ossiblen API.
Twing braucht mindestens Node.js 8.0.0 zum Ausführen.
Die empfohlene Möglichkeit zur Installation von Twing ist über NPM:
npm install twing --save
const {twingenvironment, twingloaderArray} = required ('twing'); loader = new twingloaderArray ({'index.twig': 'hello {{name}}!'}); let twing = new twingenvironment (lader); twing. render ('index.twig', {name: 'fabien'}). Dann ((output) => {// etwas mit der Ausgabe machen});
Twing und ausdrücken Arbeit ziemlich gut zusammen. Schauen Sie sich die Dokumentation an, um ein Beispiel für die Nutzung mit Express zu verwenden.
Beginnend mit Version 2.0.0 kann Twing in Webbrowsern mit sehr wenigen Kompromissen verwendet werden. Dateisystemkomponenten sind offensichtlich nicht verfügbar (nämlich Dateisystemlader und Cache), aber alles andere wird vollständig unterstützt.
Modulbundler greifen automatisch den Browser-spezifischen Geschmack von Twing beim Importieren von Twing-Modul. Entweder const {TwingEnvironment} = require('twing');
oder import {TwingEnvironment} from 'twing';
Arbeitet sowohl in Node.js als auch im Browser - nach dem Bündelung im letzteren Fall.
Verwenden Sie JSDelivr CDN, um Twing in Ihr HTML -Dokument aufzunehmen:
<script src="https://cdn.jsdelivr.net/npm/twing/dist/lib.min.js"></script>
Sobald vom Browser geladen wurde, ist Twing unter der globalen Twing
-Variablen verfügbar.
Twing zielt darauf ab, Zweigspezifikationen ohne Kompromisse perfekt zu implementieren. Dies ist aufgrund der Art der Zweigspezifikationen keine leichte Aufgabe: Sie existieren nicht offiziell und können nur aus der öffentlichen Dokumentation, der Quellcode -Dokumentation und der Testsuite der PHP -Referenzimplementierung abgeleitet werden. filter
kommt manchmal vor, dass etwas, das weder von den Dokumentationen noch von der Testsuite Teil war mit einer möglichen Veränderung. Da das Team von Twig nicht plant, einige offizielle Spezifikationen für die Sprache zu veröffentlichen, können wir nicht erwarten, dass das Problem bald gelöst wird.
Die Strategie von Twing besteht hier aus, sich streng an semantische Versionsregeln zu halten und niemals eine Veränderung in eine kleine Version einzuführen - seine umfangreiche Testsuite mit einer Codeabdeckung von 100% garantiert dies. Die Fehler der Twig -Teams werden verwaltet, indem entweder ein bekanntes Problem herausgegeben wird, wenn der Fehler trivial ist oder auf eine neue Hauptversion stoßen, wenn dies nicht der Fall ist.
Hier finden Sie das Kompatibilitätsdiagramm zwischen kleinen Versionen der Twing- und den Zweigspezifikationen sowie einer Zusammenfassung der bemerkenswerten Merkmale, die jeweils auf der Ebene der Zweig -Spezifikationen bereitgestellt werden. Beachten Sie, dass Twig-Minor-Versionen nicht immer neue Sprachfunktionen bieten (da das Team von Twig die Verwirrung zwischen Zweig und ihrer Referenzimplementierung, TwigPhp, aufrechterhalten).
Twing -Version | Zweigspezifikationen Ebene | Bemerkenswerte Merkmale |
---|---|---|
3.0 | 2.11 | Makros Scoping |
2.3 | 2.10 | spaceless , column , filter , map und reduce von Filtern, Tag, line whitespace trimming Whitespace Control Modifikator apply |
2.2 | 2.6 | deprecated Tag |
1.3 | 2.5 | spaceless und block Abschreibungen |
1.0 | 2.4 |
Es wird dringend empfohlen, immer die neueste Version von Twing zu verwenden, da Fehlerkorrekturen immer auf die neueste Version abzielen.
Hier finden Sie die Liste der bekannten Themen von Twing in Bezug auf die Implementierung von Zweigspezifikationen. Beachten Sie, dass bekannte Probleme in der nächsten Hauptversions -Beule von Twing garantiert behandelt werden.
Lesen Sie die Dokumentation für weitere Informationen.
Gulp-Twing: Kompilieren Sie Zweigvorlagen mit Schluck. Auf Twing bauen.
TWING-LOADER: WebPack Loader, der Zweigvorlagen mit Twing kompiliert.
Fork dieses Repository
Code
Implementieren Sie Tests mit Band implementieren
Geben Sie eine Pull -Anfrage aus
Copyright © 2018 Eric Morand. Veröffentlicht unter der 2-Klausel-BSD-Lizenz.