SCRIPT5022: аргумент "module"не является функцией, получил неопределенный угол.js, строка 975 символ 5

я сталкиваюсь с исключением ниже в IE-8, когда я загружаю связанную страницу angular. Он отлично работает в других браузерах. Какая-то конкретная причина?

SCRIPT5022: Argument 'module' is not a function, got undefined 
angular.js, line 975 character 5

4 ответов


У меня была эта же проблема (когда на IE

angular.module('app', ['app.directives', 'app.filters', 'app.services', ]);

обратите внимание на конечную запятую после ' app.услуги.'


Я получаю такие ошибки, когда я пытаюсь встроить тег сценария, заставляющий IE не загружать все мои скрипты. Проверьте, есть ли у вас теги end для всех ваших сценариев.

для примера:

<script src="js/services.js"></script>
<script src="js/controllers.js"/> <!-- THIS IS A PROBLEM FOR IE -->
<script src="js/filters.js"></script>
<script src="js/directives.js"></script>
<script src="js/myApp.js"></script>

на IE9 это приведет к:

SCRIPT5022: No module: myApp.filters 
angular.min.js, line 17 character 195

не совсем то же самое, но я не могу проверить его на IE8. Однако в Chrome это работает отлично. Странная вещь об этом, на самом деле то, что он не может найти, находится в скрипте, следующем за тем, с встроенным окончание. Я не могу этого объяснить.

Теперь, когда я закрываю тег сценария, как это:

<script src="js/services.js"></script>
<script src="js/controllers.js"></script> <!-- THIS WORKS -->
<script src="js/filters.js"></script>
<script src="js/directives.js"></script>
<script src="js/myApp.js"></script>

это работает как шарм.

чтобы подвести итог, AngularJS пытается найти ваш модуль под названием "модуль", но не может его найти. Вероятно, из-за скрипта, который не загружается. Попробуйте найти тег скрипта, который закрывает встроенный, и завершите его, как описано выше.

надеюсь, что это поможет.


еще одна вещь, которая может вызвать это, - это использование ключевых слов для свойств объекта. У меня было три модуля с ошибкой выше:

statistic.import = !statistic.import;

default: $scope.newGrid.default

$scope.data = JSON.stringify({export: exportParams})

оскорбительные свойстваимпорт, по умолчанию и экспорт.


Я не знаю, если вы все еще ходите вокруг той же проблемы, но я нашел возможную причину:

когда вы объявляете любой угловой модуль, вы должны вводить зависимости, такие как:

angular.module('MyStore', ['ng','ngRoute']);

Если вам нужно вызвать этот модуль из другого места для выполнения каких-либо действий, вы, вероятно, несоответствие, если вы попытаетесь ввести зависимости снова... тогда вы должны называть его так:--3-->

angular.module('myStore')

в противном случае вы будете использовать свой мозг в поисках решение.

надеюсь, это поможет!