как запустить более одного модуля директивы angular на Pprod

Я работаю над выпуском jhipster 0.7.0, и у меня есть несколько типов модулей директив в нашем приложении jhipster. Первый для индексной страницы, а второй для общей директивы.

Когда мы запускаем профиль Prod, я получаю исключение: -

[31mPhantomJS 1.9.7 (Windows 7) ОШИБКА [39m Ошибка: [$injector:nomod] Модуль «общие службы» недоступен! Вы либо неправильно написали имя модуля, либо забыли его загрузить. При регистрации модуля убедитесь, что вы указали зависимости в качестве второго аргумента. http://errors.angularjs.org/1.2.11-build.2192+sha.e2173f9/$injector/nomod?p0=common-services в D:/github_repo/gather-our-code/src/main/webapp/bower_components/angular/angular.js:1531

тот же код работает над профилем разработки..

Пожалуйста, помогите мне решить эту ошибку как можно скорее


person Er KK Chopra    schedule 12.02.2014    source источник


Ответы (1)


Профиль «prod» использует минимизацию JavaScript (выполняется Grunt), что уменьшит размер вашего файла JavaScript. Поскольку это изменяет ваш код JavaScript, это может вызвать проблемы, в зависимости от того, как вы пишете код внедрения зависимостей. Вы смотрели на примеры директив, которые предоставляются? Или на контрольных образцах? Вы должны написать свою инъекцию зависимостей в том же стиле.

Например, чтобы внедрить $scope:

jhipsterApp.controller('MainController', ['$scope',
    function ($scope) {
}]);

Это гарантирует, что процесс минимизации не нарушит внедрение зависимостей переменной «$scope».

Если вы не можете заставить его работать, вы также можете исключить свои файлы из процесса минимизации: это зависит от вашей нагрузки, но для большинства приложений это излишне. Это настраивается в вашем файле Gruntfile.js.

person Julien Dubois    schedule 12.02.2014