Mam dość prostą aplikację Angular, która działa dobrze na moim komputerze deweloperskim, ale nie wyświetla tego komunikatu o błędzie (w konsoli przeglądarki) po jej wdrożeniu:
Uncaught Error: [$injector:unpr] http://errors.angularjs.org/undefined/$injector/unpr?p0=tProvider%20%3C-%20t%20%3C-%20%24http%20%3C-%20%24compile
Żadna inna wiadomość poza tym. Dzieje się tak, gdy strona ładuje się po raz pierwszy.
Używam ASP.NET MVC5, Angular 1.2RC3 i wypycham na platformę Azure za pośrednictwem git.
Googlowanie nie przyniosło nic interesującego.
Jakieś sugestie?
EDYTOWAĆ:
Używam TypeScript i definiuję moje zależności ze $inject
zmienną, np:
export class DashboardCtrl {
public static $inject = [
'$scope',
'$location',
'dashboardStorage'
];
constructor(
private $scope: IDashboardScope,
private $location: ng.ILocationService,
private storage: IDashboardStorage) {
}
}
Uważam, że powinno (lub ma na celu) obejście problemów związanych ze zmianą nazw zmiennych lokalnych, które pojawiają się podczas minifikacji i które mogą powodować ten błąd.
To powiedziawszy, ma to oczywiście coś wspólnego z procesem minifikacji, ponieważ kiedy ustawiam BundleTable.EnableOptimizations = true
na mojej maszynie deweloperskiej , mogę to odtworzyć.
$inject
zmiennej publicznej, co moim zdaniem jest równoważne z sugerowanym przez Ciebie sposobem (patrz docs.angularjs.org/guide/di ). Zaktualizuję moje pytanie.