#angularjs
#angularjs
Вопрос:
Я использую библиотеку angular-modal Брайана Форда для предоставления модалов для моего приложения. Он работает должным образом в процессе разработки, но, похоже, минимизация нарушает его, хотя я использую ngmin в процессе сборки gulp.
Error: [$injector:unpr] Unknown provider: tProvider <- t <- btfModal <- deleteConfirmationModal
http://errors.angularjs.org/1.2.17-build.225 sha.9227a5d/$injector/unpr?p0=tProvider <- t <- btfModal <-NaNeleteConfirmationModal
at http://localhost:3005/live/vendors.min.js:1:697
at http://localhost:3005/live/vendors.min.js:1:17123
at Object.n [as get] (http://localhost:3005/live/vendors.min.js:1:16388)
at http://localhost:3005/live/vendors.min.js:1:17218
at n (http://localhost:3005/live/vendors.min.js:1:16388)
at Object.r [as invoke] (http://localhost:3005/live/vendors.min.js:1:16673)
at http://localhost:3005/live/vendors.min.js:1:17236
at n (http://localhost:3005/live/vendors.min.js:1:16388)
at Object.r [as invoke] (http://localhost:3005/live/vendors.min.js:1:16673)
at http://localhost:3005/live/vendors.min.js:1:17236
Основываясь на том, что я прочитал в целом об Unknown provider
ошибках, я уверен, что это проблема с внедрением зависимостей. Я перепробовал все возможные перестановки, но не могу заставить их работать.
Вот соответствующий код:
Создает модуль:
angular.module('gridsmartWebClient.modal', ['btford.modal']);
Завод:
angular.
module('gridsmartWebClient.modal')
.factory('deleteConfirmationModal', function (btfModal) {
'use strict';
return btfModal({
controller: 'DeleteModalCtrl',
controllerAs: 'modal',
templateUrl: '/gridsmart-web-client/camera/delete-confirmation.html'
});
})
Завод после ngmin:
angular.module('gridsmartWebClient.modal').factory('deleteConfirmationModal', [
'btfModal',
function (btfModal) {
'use strict';
return btfModal({
controller: 'DeleteModalCtrl',
controllerAs: 'modal',
templateUrl: '/gridsmart-web-client/camera/delete-confirmation.html'
});
}
])
Зависимости приложений:
angular.module('gridsmartWebClient', [
'ngRoute',
'gridsmartWebClient.grid',
'gridsmartWebClient.camera',
'gridsmartWebClient.modal',
'gridsmartWebClient.utils',
'dropdownDirective',
'btford.modal',
'gridsmart-web-client-templates'
])
Итак, несмотря на то, что я знаю, что есть проблема с внедрением зависимостей, я не вижу, что бы это могло быть. Модуль, в котором объявлена фабрика, был введен в приложение. Я просмотрел другие ответы на похожие вопросы, но ответы либо очень специфичны для соответствующих сценариев, либо общие, чтобы не быть особенно полезными для меня. (например, «Это проблема зависимости».). Что дает?
Комментарии:
1. Проблема в vendors.min.js , а не ваш код. Вам также нужен ngmin для всех скриптов вашего поставщика.
2. @YeLiu Вы абсолютно правы. Отправьте это как ответ, и я отмечу его правильно. Спасибо!
3. Это здорово! Я просто скопировал свой комментарий в качестве ответа.
Ответ №1:
Проблема в vendors.min.js , а не ваш код. Вам также нужен ngmin для всех скриптов вашего поставщика.