Ao usar o angular 1.2 em vez de 1.07, o seguinte trecho de código não é mais válido, por quê?
'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: '/'
});
}
]);
o problema está na parte de configuração do injetor (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)
Se bem me lembro, esse problema começou com o angular 1.1.6.
javascript
angularjs
shoen
fonte
fonte
"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."
meu erro desapareceu adicionando '()' no final
fonte
Mais uma coisa a acrescentar à lista, pois este é o primeiro resultado que surge com uma pesquisa no Google de 'Erro: [$ injector: modulerr] angular':
Se houver uma incompatibilidade entre o nome do seu aplicativo no seu 'index'html' e na definição principal do seu aplicativo javascript, isso também poderá gerar esse erro.
Por exemplo, se o seu HTML estiver assim:
E seu JavaScript se parece com isso (ou seja, tem um erro de digitação no nome do aplicativo - myWebCite em vez de myWebSite):
o erro 'Error: [$ injector: modulerr] angular' também será gerado.
fonte
Um erro noob pode estar esquecendo de incluir o módulo js
arquivos no index.html em tudo
fonte
Para aqueles que usam estruturas que compactam, agrupam e minificam arquivos, defina explicitamente cada dependência, pois essas estruturas tendem a renomear suas variáveis. Isso aconteceu comigo ao usar o ASP.NET
BundleConfig.cs
para agrupar meus scripts de aplicativos.Antes
Depois de
Leia mais aqui sobre Anotação de Dependência Angular.
fonte
Se você tiver esse erro no console
([$injector:nomod], MINERR_ASSET:22)
, verifique se não está incluindo o código do aplicativo antes de carregarAngularJS
Eu estava fazendo isso e, depois de corrigir o pedido, o erro desapareceu.
fonte
Acabei de experimentar o mesmo erro, no meu caso, foi causado pelo segundo parâmetro em
angular.module
falta - espero que isso ajude alguém com o mesmo problema.angular.module('MyApp');
angular.module('MyApp', []);
fonte
fonte
Eu tive o mesmo problema e tentei todas as soluções possíveis. Mas, finalmente, soube pela documentação que o
ngRoute
módulo agora está separado. Dê uma olhada neste linkSolução: adicione o script cdn angular-route.js após o angular.min.js
fonte
Outro gatilho para esse erro está saindo do "." antes de seu "caso contrário" ou qualquer outra rota na sua definição de rota:
Mortificado por um ponto final, mais uma vez. Conseguiu amar JS!
fonte
Além da resposta abaixo, se você tiver esse erro no console (
[$injector:nomod]
,MINERR_ASSET:22
), mas tudo parece funcionar bem, verifique se você não possui inclusões duplicadas no seu index.html.Como esse erro também pode ser gerado se você tiver inclusões duplicadas dos arquivos, que usam este módulo e forem incluídas antes do arquivo com a declaração real do módulo.
fonte
Se você seguir o tutorial oficial do angularjs https://docs.angularjs.org/tutorial/step_07
Observe também no ngRoute api https://docs.angularjs.org/api/ngRoute
fonte
John Papa forneceu meu problema com esse comentário bastante obscuro: às vezes, quando você recebe esse erro, significa que está faltando um arquivo. Outras vezes, significa que o módulo foi definido após ser usado. Uma maneira de resolver isso facilmente é nomear os arquivos do módulo * .module.js e carregá-los primeiro.
fonte
Meu problema estava no config.xml. Alterando:
para
consertou.
fonte
É um erro do injetor. Você pode usar muitos arquivos JavaScript para que o injetor esteja ausente.
Alguns estão aqui:
Por favor, verifique o injetor que você precisa inserir no seu
app.js
fonte
Em algum momento, vi esse erro quando você alternava entre os projetos e os executava na mesma porta, um após o outro. Nesse caso Goto Chrome Developer Tools> Rede e tentar verificar o arquivo escrito js real para:
if the file match with the workspce
. Para resolver isso, selecioneDisable Cache
em rede.fonte
Depois de muitos meses, voltei a desenvolver um aplicativo AngularJS ( 1.6.4 ), para o qual escolhi o Chrome (PC) e o Safari (MAC) para testar durante o desenvolvimento. Este código apresentou este erro: $ injector: modulerr Erro do módulo no IE 11.0.9600 (Windows 7, 32 bits).
Após a investigação, ficou claro que o erro ocorreu devido ao uso do loop forEach , apenas substituindo todos os loops forEach pelo normal para loops, para que as coisas funcionassem como estão ...
Era basicamente um problema do IE11 (respondido aqui ) em vez de um problema do AngularJS, mas quero colocar essa resposta aqui porque a exceção gerada foi uma exceção do AngularJS. Espero que ajude alguns de nós por aí.
similarmente. não use funções lambda ... basta substituir () => {...} a função ol 'good () {...}
fonte
Eu tive esse problema e depois de verificar meu código linha por linha, vi isso
eu mudei para
e deu certo. então verifique suas tags.
fonte