Вопрос по google-closure, javascript, html5, angularjs – html5, angularJS с компилятором закрытия и / или библиотекой закрытия

14

Я рассматриваю html5, angularJS для привязки данных, а также компилятор Google Closure и библиотеку Closure для интерактивных веб-приложений. Они хорошо работают вместе? К сожалению, до сих пор нет подробных отчетов.

У меня есть опыт Adobe Flex, но я довольно плохо знаком с чистым JS. Таким образом, вопросы могут рассматриваться с точки зрения начинающего. Нет кодовой базы, которую нужно портировать, все будет разработано с нуля.

Is anyone else using this combination successfully? Are there any firsthand reports? Do you recommend the individual technologies in this context, or are there better alternatives to combine? Are there any good examples, example projects or even tutorials (for the combination - not the individual technologies)? Any pitfalls a beginner should be aware of? Are there any other orthoganal technolgies that I should also use or at least consider?

Некоторые более или менее актуальные ссылки, которые я уже нашел:

https://groups.google.com/forum/#!msg/angular/hePiqQA-MCI/uTirEtNLahwJ https://groups.google.com/forum/#!msg/angular/QpdXrTLG7Ac/zjZAQVOqRlgJ
Новые пользователи не могут публиковать более двух ссылок, поэтому еще один комментарий:groups.google.com/group/closure-library-discuss/browse_thread/… thomre
Мне нравятся вопросы такого типа, и в некотором смысле это очень полезно, но я удивлен, когда вижу, что нет попыток провести закрытое голосование по причине неконструктивности, мнения и т. Д. Непредсказуемо. Saran

Ваш Ответ

2   ответа
13

Closure Compiler

Вы можете определенно скомпилировать свой код (сам Angular скомпилирован с помощью компилятора Closure), хотя на этом этапе вы можете использовать только простые оптимизации.

В общем, мы хотим, чтобы Angular хорошо играл вместе с компилятором.

Closure library

В Google есть несколько проектов, использующих библиотеку вместе с Angular.

Они используют goog.provide () и goog.require () для зависимостей. Также использование утилит, таких как goog.isString () или goog.inherits (), абсолютно просто.

Использование компонентов пользовательского интерфейса замыкания может потребовать дополнительной работы (хотя, опять же, есть проекты, использующие его).

С & quot; простой оптимизацией & quot; Я имел в виду "простую оптимизацию" :-D Вам нужно использовать явные аннотации для DI для работы со скомпилированным кодом. Например. MyController. $ Inject = [& amp; $ scope & apos;];
Вы имеете в виду «простая оптимизация»? или просто "только пробельные символы" оптимизация? Я пытался сделать это простым с помощью веб-приложения компилятора замыкания и при его замене.MyController($scope) сMyController(a) (наряду со всеми другими ссылками на$scope в контроллере) мой код ломается.
Уже есть этап компиляции Closure, который может сделать эти аннотации автоматически для вас, надеюсь, он скоро будет открыт с открытым исходным кодом ...
4

Change code

function MyCtrl($scope) {/* code */}

To

var MyCtrl = ['$scope', function($scope) {/* code */}]

Похожие вопросы