Ошибка неизвестного поставщика в btfModal

#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 для всех скриптов вашего поставщика.