J'ai une application Angular assez simple qui fonctionne très bien sur ma machine de développement, mais qui échoue avec ce message d'erreur (dans la console du navigateur) après son déploiement:
Uncaught Error: [$injector:unpr] http://errors.angularjs.org/undefined/$injector/unpr?p0=tProvider%20%3C-%20t%20%3C-%20%24http%20%3C-%20%24compile
Aucun autre message à part ça. Cela se produit lorsque la page se charge pour la première fois.
J'exécute ASP.NET MVC5, Angular 1.2RC3 et je pousse vers Azure via git.
Google n'a rien trouvé d'intéressant.
Aucune suggestion?
ÉDITER:
J'utilise TypeScript et je définis mes dépendances avec la $inject
variable, par exemple:
export class DashboardCtrl {
public static $inject = [
'$scope',
'$location',
'dashboardStorage'
];
constructor(
private $scope: IDashboardScope,
private $location: ng.ILocationService,
private storage: IDashboardStorage) {
}
}
Je crois que cela devrait (ou vise à) contourner les problèmes de changement de nom de variable locale qui surviennent lors de la minification et qui peuvent provoquer cette erreur.
Cela dit, cela a clairement quelque chose à voir avec le processus de minification, car lorsque je le configure BundleTable.EnableOptimizations = true
sur ma machine de développement, je peux le reproduire.
$inject
variable publique, ce qui, je pense, équivaut à la façon dont vous suggérez (voir docs.angularjs.org/guide/di ). Je vais mettre à jour ma question.