AngularJS : comment éviter l'erreur $injector:modulerr ?

Si vous venez de mettre à jour Angular à une version supérieure à la 1.2, l'utilisation de certaines méthodes peut poser problème.

Si vous venez de mettre à jour Angular à une version supérieure à la 1.2, l'utilisation des méthodes suivantes peut poser problème :

var app = angular.module('myapp', []);
app.config(['$routeProvider', '$locationProvider',
 function($routeProvider, $locationProvider) {
 $locationProvider.html5Mode(true);
 $routeProvider.
 when('/pratique/pratique/', {
 templateUrl: 'test.html',
 controller: 'MonControleur'
 }).
 otherwise({
 redirectTo: '/'
 });
 }
]);

En effet, le message d'erreur suivant s'affiche lors de l'exécution du code :

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).

Cette erreur provient de la mise à jour d'AngularJS en version 1.2. Depuis la version 1.2, le module ngRoute a été séparé du code source d'Angular. Si vous souhaitez utiliser ces méthodes, il faut au préalable inclure le module ngRoute et le préciser lors de l'instanciation de votre module :

<script src=https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js></script>
//Dans le JavaScript :
var app = angular.module('myapp', ['ngRoute']);

AngularJS

Annonces Google