Я пытаюсь использовать Шаблоны Google Closure (соя) с Google Closure .
Я включаю файл утилит soyutils_usegoog.js
в соответствии с инструкциями.Этот файл содержит ряд утилит, используемых сгенерированными шаблонами, в частности soy.StringBuilder
.Вот как он создается:
soy.StringBuilder = goog.string.StringBuffer;
Для файла soyutils требуется goog.string.StringBuffer
несколькими строками выше, но при работе в некомпилированном режиме это приводит к ошибке времени выполнения, поскольку файл JS, который StringBuffer
находящиеся в не будут загружаться до тех пор, пока после выполнения soyutils не будет выполнен.
Если я не ошибаюсь, файлы JS в Closure не должны немедленно обращаться к пространствам имен, которые им «требуются».Тег <script>
добавляется только после выполнения текущего скрипта (в некомпилированном режиме), поэтому немедленное использование приведет к ошибке времени выполнения.
Короче, как я могу загрузить в soyutils_usegoog.js
безвызывая ошибку времени выполнения из-за раннего доступа к good.string.StringBuffer
.