wenn ich eine Template-Engine hätte, die im Stande ist, JS in HTML zu erkennen und erforderliche Kontextbehandlungen transparent durchzuführen, dann hätte ich das sicherlich damit gemacht.
Wozu sollte eine TE zwischen HTML und JS unterscheiden können? Wenn beides zusammen ausgeliefert wird, ist das alles beides nur Text. Und wenn Du JS~Variablen über Platzhalter einbaust, ist JS der Kontext, z.B.
var alltag = {"salute":"Guten <Tag>"};
^ Platzhalter ^
Wohlgemerkt: Nicht JS sondern nur die JS~Variable wird eingebaut, diese ist immer ein Stringliteral.
Für HTML andererseits ist HTML der Kontext:
{"salute":"Guten <Tag>"}
^ Platzhalter ^
Also müssen HTML~relevante Zeichen (hier die spitze Klammer) entsprechend behandelt werden. D.h. natürlich, daß es innerhalb eines Templates namentlich nicht dieselben Platzhalter sein dürfen wenn die TE den Kontext nicht unterscheiden kann.
MfG