Sucht nach Template-Engine wie HTML :: Mason (oder Mason), also "kompiliert" Source-Komponenten in Perl-Code, aber statt Perl-Code "kompiliert" Komponenten in JavaScript-Code und nach dem Ausführen / Ausführen mit JavaScript :: V8 Perl Modul.
Motivation: Suchen Sie nach einer Lösung für die sichere Vorlagensprache, was Benutzer bearbeiten kann, ohne die Serversicherheit zu gefährden . JavaScript ist eine voll ausgestattete Sprache, daher ist es wahrscheinlich besser / schneller als einige "Mini-Sprachen" wie TT oder ähnliches. Das Beste für mich wäre eine Erweiterung (Neuschreiben) von Mason für das Zusammenstellen in Joose / JavaScript anstelle von Moose / Perl. ;)
Und ja, wollen Sie dies von Perl mit Javascript :: V8 tun, weil auf diese Weise ist möglich, alle perl's Macht über Javascript :: V8 $ context- & gt; bind_function in sehr sicherer Weise verfügbar.
Fragen:
EDIT: In Mason können Sie zum Beispiel
schreiben %Vor%wäre schön die Möglichkeit zu haben, das obige in JS zu schreiben, wie:
%Vor%Die obige Quelle sollte in JavaScript (Joose) "kompiliert" und mit Javascript :: V8 ausgeführt werden. (wie in Mason - die Quelle wird in Perl / Moose-Objekt kompiliert und mit Perl ausgeführt) ...
Wie Sie sehen können, wird for(var i in list)
in reines JS geschrieben und nicht in "Mini-Sprache" ...
Nach Jahren wiedergesehen und bearbeitet:)
Hier ist das EJS :: Template .
Es tut genau das, was Sie gefragt haben - kompiliert die Vorlagen in JS und verwendet V8
(oder sogar JE
) Engines zum Auswerten. Leider gibt es noch keine Javascript :: Duktape Engine-Unterstützung (noch).
Auch hier ist ein Beispiel, wie man die Jemplate
(serverseitig) von der großen @ ysth-Antwort mit der Duktape-Engine verwendet.
erzeugt
%Vor% Sie können alle Jemplate-Aufrufe weglassen, indem Sie die Vorlagen vorher mit dem jemplate
-Befehl kompilieren, wie zB:
Laden Sie einfach jemplate_source.js
und prüfen Sie es in der JS-Engine.
Nur zur Kenntnisnahme: Auf meinem Noteboook habe ich mit dem originalen TemplateToolkit 10k / sec. Das obige Jemplate / Duktape nur 5k / sec.
Die meine ursprüngliche Antwort:
Hier ist Shotenjin , was von einem Tenjin-Vorlagensystem abgeleitet ist. (Das Perl Tenjin ist hier .
.)Shotenjin ist joose basiert, also mit etwas plus Arbeit wird möglich sein Shotenjin von einem Perl mit Javascript :: V8 verwenden. Aber es ist immer noch nicht genau für das, was Sie suchen.
EDIT: Für das, was du schaust ist schon fertig - leider für den RUBY. Ссылка
EDIT2: Gerade entdeckt: Hier ist Template :: JavaScript , was TT in JS kompiliert und mit v8 Server ausgeführt wird Seite ...
Tags und Links perl v8 mason embedded-v8 joose