Я новичок в AngularJS, и у меня проблемы каждый раз, когда я следую учебному курсу и добавляю внешний модуль. И у меня есть некоторые вопросы о том, как не получить инъекционные ошибки.
Q1. Как я могу решить проблему с инжектором/модулем? Я использовал bower для установки "ngSanitize", включенный в HTML как:
<body ...>
<script src="assets/js/angular.min.js"></script>
<script src="bower_components/ngSanitize/index.js" type="text/javascript"></script>
</body>
Q2. Если порядок добавления модулей влияет на результаты, есть ли плагин для NetBeans или онлайн-приложение для проверки зависимостей модулей, чтобы их можно было добавить по порядку?
Q3. Наконец, каковы правильные шаги для ввода внешних модулей в одностраничное приложение AngularJS без инжектора/модулятора?
Оригинал:
angular.module('app', [
'ngRoute',
'ngAnimate',
'angularMoment',
'angular-preload-image',
'truncate',
'app.core'
]);
Объектная ситуация, которая вызывает ошибку впрыска для "ngSanitize":
angular.module('app', [
'ngRoute',
'ngSanitize',
'ngAnimate',
'angularMoment',
'angular-preload-image',
'truncate',
'app.core'
]);
Отображаемая ошибка, которая приводит к сбою загрузки приложения
Я получил ту же ошибку, используя angularjs.org/1.4.8.
Основная проблема, по-моему, заключается в использовании этого конкретного ngSanitize.
Вы должны установить его, используя: bower install angular-sanitize
и not bower install ngSanitize
.
Несмотря на то, что это связано с тем же, ngSanitize
, согласно описанию репо:
модуль угловой санитарии без включения угловых.js для магистральной и других каркасов
Как вы можете видеть, они принадлежат разным репозиториям:
Угловая дезинфекция: https://github.com/angular/bower-angular-sanitize
ngSanitize: https://github.com/gdi2290/ngSanitize
Загрузка скрипта в HTML важна. Я всегда начинаю с вставки jQuery
, затем с angular
, затем с угловыми определенными модулями, такими как (angular-animate
, angular-sanitize
и т.д.), А затем мои собственные скрипты с угловыми модулями.
Что касается Q3, я не думаю, что вы испортили модульную инъекцию. Это просто показало, что ошибка из-за использования ngSanitize
вместо angular-sanitize
.
angular-sanitize.js
вместоngSanitize/index.js
.