на "непойманные ошибка: [$инжектор:неустойчивых]" с углового после развертывания
У меня довольно простой угловой приложение, которое работает просто отлично на моем компьютере dev, но терпит неудачу с этим сообщением об ошибке (в консоли браузера) после того, как я развернуть его:
Непойманные ошибка: [$инжектор:неустойчивых] http://errors.angularjs.org/undefined/$injector/unpr?p0=tProvider%20%3C-%20t%20%3C-%20%24http%20%3C-%20%24compile
Нет другого сообщения, кроме этого. Это происходит при первой загрузке страницы.
Я'м управлением ASP.NET MVC5, угловой 1.2RC3, и толкает в Azure через Git.
Погугли еще'т ничего интересного.
Какие-либо предложения?
Редактировать:
Я'м с помощью TypeScript и определения зависимостей с `$вложил в нее переменных, например:
export class DashboardCtrl {
public static $inject = [
'$scope',
'$location',
'dashboardStorage'
];
constructor(
private $scope: IDashboardScope,
private $location: ng.ILocationService,
private storage: IDashboardStorage) {
}
}
Я считаю, что должна (или должен) сделать вокруг локальной переменной переименовании проблемы, которые возникают при минификации и которые могут вызвать эту ошибку.
Что сказал, это явно как-то связано с процессом минификации, а когда я BundleTable.EnableOptimizations = правда` на моем компьютере dev, я могу воспроизвести его.
Если следовать вашей ссылке, он говорит вам, что в результате ошибки от $форсунки не в состоянии решить свои зависимости. Это распространенная проблема, с углового, когда JavaScript-код получает сжатый/uglified/все, что вы'повторно делать это для производства.
Проблема, когда у вас, например, контроллер;
В минификации изменения
$охват
и$Q
, то в случайных переменных, которые не'т сказать, что угловые впрыснуть. Решение это объявить зависимостей такой:Это должно исправить вашу проблему.
Просто чтобы повторить, все, что я'вэ сказал это по ссылке сообщение об ошибке, предоставляет вам.
Столкнулся с такой же проблемой сама, но мои определения контроллера выглядел немного иначе, чем выше. Для контроллеров определить так:
Просто добавьте строку, после заявление с указанием, какие объекты вводить, когда контроллер инициализируется:
Это делает его минификации-безопасный.
Эта проблема возникает, когда контроллер или директивы не указаны в массиве зависимостей и функций. Например
Когда уменьшенная на '$объем' передать функции регулятора заменяется одной переменной буквенное имя . Это будет оказывать угловые невежественный зависимости . Чтобы избежать этого передать имя зависимостей наряду с функции как массив.
Если у вас есть разделенные файлы для угловой приложения\ресурсов, директивы и другие вещи, то вы можете просто отключить минимизация ваших угловой набор приложений, как это (использование нового пакета() вместо ScriptBundle() в связке файл конфигурации):
И угловые приложение появится в пачке без изменений.
Добавить $протоколу HTTP, $объем услуг в функцию контроллера, иногда, если им не хватает этих ошибок.
Если у вас есть разделенные файлы для угловой приложения\ресурсов, директивы и другие вещи, то вы можете просто отключить минимизация ваших угловой набор приложений, как это (использование нового пакета() вместо ScriptBundle() в связке файл конфигурации):
У меня была такая же проблема, но вопрос был в другом, я пытался создать службу и передать $объем ему в качестве параметра. Что'ы и другой способ получить эту ошибку в документации, что ссылка говорит: