Язык шаблонов JavaScript, который предварительно компилируется в чистый JavaScript - PullRequest
2 голосов
/ 14 декабря 2010

Я использую Google Closure Compiler в расширенном режиме для проекта, над которым я работаю.Это чрезвычайно агрессивный JavaScript-компилятор, который может немного оптимизировать ваш код.Однако для этого нужно увидеть всю картину.То есть, если я назначу что-то для window.foo, а затем получу доступ к window.foo только из JS, который не может увидеть компилятор, он не будет существовать, так как он будет изменен на window.f или даже удаленвсе вместе.

Это усложняет ситуацию, когда приходит время для храмов JS.Так как они загружаются во время выполнения из строки, они имеют тенденцию ссылаться на переменные, которые больше не существуют.Это можно немного смягчить, используя цитируемое назначение для объекта, используемого для предоставления значений в шаблон.например.templateContext ['user'], а не templateContext.user.Однако это не позволяет мне использовать templateContext.user.username и т. Д., Поэтому это несколько ограничивает.

tl; dr : мне нужно решение для шаблонов JavaScript, которое может быть предварительно-обработан в чистый JavaScript, который я могу включить в файл .js.

Существует ли что-нибудь подобное?

Ответы [ 2 ]

1 голос
/ 14 декабря 2010

Честно говоря, я не уверен, как я пропустил это: Шаблоны закрытия Google .

0 голосов
/ 09 марта 2011

Вы можете попробовать Dojo 1.6. Есть способ заставить его работать без проблем с Closure в расширенном режиме, даже с шаблонами Dijit.

http://dojo -toolkit.33424.n3.nabble.com / файл / n2636749 / Using_the_Dojo_Toolkit_with_the_Closure_Compiler.pdf? По-пользователя = т

...