При использовании углового 1.2 вместо 1,07 следующий фрагмент кода больше не действителен, почему?
'use strict';
var app = angular.module('myapp', []);
app.config(['$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider.
when('/', {
templateUrl: 'part.html',
controller: 'MyCtrl'
}).
otherwise({
redirectTo: '/'
});
}
]);
проблема в части конфигурации инжектора (app.config):
Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.2.0rc1/$injector/modulerr?p0=muninn&p1=Error%…eapis.com%2Fajax%2Flibs%2Fangularjs%2F1.2.0rc1%2Fangular.min.js%3A31%3A252)
Если я правильно помню, эта проблема началась с угловой 1.1.6.
javascript
angularjs
Shoen
источник
источник
"Error: [$injector:nomod] Module 'ngRoute' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument."
моя ошибка исчезла, добавив эту '()' в конце
источник
Еще одна вещь, которую нужно добавить в список, так как это первый результат, который приводит к поиску Google «Ошибка: [$ injector: modulerr] angular»:
Если у вас есть несоответствие между именем вашего приложения в вашем «index'html» и в определении вашего основного приложения javascript, это также может вызвать эту ошибку.
Например, если ваш HTML выглядит так:
И ваш JavaScript выглядит следующим образом (т.е. содержит опечатку в имени приложения - myWebCite вместо myWebSite):
тогда будет также сгенерирована ошибка «Ошибка: [$ injector: modulerr] angular».
источник
Ошибка нуб может быть забыв включить модуль JS
файлы в index.html вообще
источник
Для тех, кто использует каркасы, которые сжимают, связывают и минимизируют файлы, убедитесь, что вы определили каждую зависимость явно, поскольку эти каркасы имеют тенденцию переименовывать ваши переменные. Это случилось со мной при использовании ASP.NET
BundleConfig.cs
для объединения сценариев моего приложения.Перед
После
Узнайте больше здесь об аннотации угловых зависимостей.
источник
Если у вас есть эта ошибка в консоли
([$injector:nomod], MINERR_ASSET:22)
, убедитесь, что вы не включили код приложения перед загрузкойAngularJS
Я делал это, и как только я исправил заказ, ошибка исчезла.
источник
Я только что столкнулся с той же ошибкой, в моем случае она была вызвана отсутствием второго параметра
angular.module
- надеюсь, это может помочь кому-то с такой же проблемой.angular.module('MyApp');
angular.module('MyApp', []);
источник
источник
У меня была такая же проблема и я испробовал все возможные решения. Но в конце концов я узнал из документации, что
ngRoute
модуль теперь отделен. Посмотрите на эту ссылкуРешение: добавьте cdn angular-route.js после сценария angular.min.js
источник
Еще один триггер для этой ошибки оставляет "." перед вашим «иным» или любым другим маршрутом в вашем определении маршрута:
Умиротворенный полной остановкой, еще раз. Должен любить JS!
источник
Помимо приведенного ниже ответа, если у вас есть эта ошибка в console (
[$injector:nomod]
,MINERR_ASSET:22
), но кажется, что все работает нормально, убедитесь, что у вас нет дубликатов включений в ваш index.html.Поскольку эта ошибка также может возникать, если у вас есть дубликаты включений файлов, которые используют этот модуль и включены перед файлом с фактическим объявлением модуля.
источник
Если вы пройдете официальный учебник angularjs https://docs.angularjs.org/tutorial/step_07
Также, пожалуйста, обратите внимание на ngRoute api https://docs.angularjs.org/api/ngRoute
источник
Джон Папа изложил мою проблему по этому довольно неясному комментарию: иногда, когда вы получаете эту ошибку, это означает, что вы пропустили файл. В других случаях это означает, что модуль был определен после его использования. Один из способов легко решить эту проблему - назвать файлы модуля * .module.js и загрузить их первыми.
источник
Моя проблема была в config.xml. Изменение:
в
починил это.
источник
Это ошибка инжектора. Возможно, вам пришлось использовать много файлов JavaScript, так что инжектор может отсутствовать.
Некоторые здесь:
Пожалуйста, проверьте инжектор, который нужно вставить в
app.js
источник
Иногда я видел эту ошибку, когда вы переключаетесь между проектами и запускаете проекты на одном и том же порту один за другим. В этом случае GOTO Инструменты разработчика Chrome> Сеть и попытаться проверить фактическое написанный JS файл для:
if the file match with the workspce
. Чтобы решить эту проблему, выберитеDisable Cache
в сети.источник
Через много месяцев я вернулся к разработке приложения AngularJS ( 1.6.4 ), для которого я выбрал Chrome (ПК) и Safari (MAC) для тестирования во время разработки. Этот код представляет эту ошибку: $ injector: modulerr Ошибка модуля в IE 11.0.9600 (Windows 7, 32-bit).
По результатам расследования, выяснилось , что ошибка была из - за Foreach петли используются, только заменил все Foreach петли с нормальным для петель для вещей , чтобы работать как есть ...
В основном это была проблема IE11 ( здесь ответили ), а не проблема AngularJS, но я хочу разместить этот ответ здесь, потому что возникшее исключение было исключением AngularJS. Надеюсь, это поможет некоторым из нас там.
по аналогии. не используйте лямбда-функции ... просто замените () => {...} на хорошую функцию ol () {...}
источник
У меня была эта проблема, и после проверки моего кода строка за строкой я увидел это
я просто изменил это на
и это сработало. так что проверяйте свои теги.
источник