Ao utilizar o código angular 1.2 em vez do 1.07, o seguinte código já não é válido, porquê?
'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 injector (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, este problema começou com o angular 1.1.6.
O problema foi causado pela falta de inclusão do módulo ngRoute. Desde a versão 1.1.6 it's uma parte separada:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"></script>
var app = angular.module('myapp', ['ngRoute']);
Se você tiver este erro no console ([$injector:nomod], MINERR_ASSET:22)
, certifique-se de não incluir o código da sua aplicação antes de carregar ``AngularJS```.
Eu estava a fazer isso e assim que corrigi a ordem, o erro desapareceu.
Além da resposta abaixo, se você tiver este erro no console ([$injector:nomod]
, MINERR_ASSET:22
), mas tudo parece funcionar bem, certifique-se de que você don't tenha duplicatas incluídas em seu index.html.
Porque este erro também pode ser levantado se você tiver duplicados includes dos arquivos, que utilizam este módulo, e são incluídos antes do arquivo com a declaração do módulo real.