Улучшить эту страницуЗапуск приложения AngularJS в рабочей среде
При запуске приложения AngularJS в рабочей среде следует учесть несколько моментов.
Отключение отладочных данных
По умолчанию AngularJS добавляет информацию о связывании и областях видимости к узлам DOM и добавляет CSS-классы к связанным с данными элементам:
-
В результате интерполяций
ngBind,ngBindHtmlили{{...}}данные связывания и CSS-классng-bindingприсоединяются к соответствующему элементу. -
В местах, где компилятор создал новую область видимости, к соответствующему элементу присоединяются область видимости и CSS-класс
ng-scopeилиng-isolated-scope. К этим ссылкам на области видимости можно обратиться с помощьюelement.scope()иelement.isolateScope().
Инструменты, такие как Protractor и Batarang, нуждаются в этой информации для работы, но в рабочей среде её можно отключить для существенного повышения производительности с помощью:
myApp.config(['$compileProvider', function ($compileProvider) {
$compileProvider.debugInfoEnabled(false);
}]);
Если вы хотите отладить приложение с этой информацией, откройте консоль отладки в браузере и вызовите этот метод непосредственно в этой консоли:
angular.reloadWithDebugInfo();
Страница должна перезагрузиться, и отладочная информация теперь должна быть доступна.
Для получения более подробной информации см. страницы документации по $compileProvider и angular.reloadWithDebugInfo.
Жесткий режим DI
Использование режима строгого ввода-вывода (DI) в вашем приложении рабочей среды приведет к ошибке, когда инъекционная функция не явным образом аннотирована. Режим строгого DI призван помочь вам убедиться, что ваш код будет работать при минификации. Однако он также заставит вас убедиться, что ваши инъекционные функции явно аннотированы, что улучшит производительность Angular при инъекции зависимостей в ваши инъекционные функции, потому что ему не нужно динамически обнаруживать зависимости функции. Рекомендуется автоматизировать явную аннотацию с помощью инструмента, такого как ng-annotate, при развертывании в рабочей среде (и включении режима строгого DI).
Чтобы включить режим строгого DI, у вас есть два варианта:
<div ng-app="myApp" ng-strict-di> <!-- your app here --> </div>
или
angular.bootstrap(document, ['myApp'], {
strictDi: true
});
Для получения дополнительной информации см. Руководство по DI.
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.3.20/docs/guide/production