Использование gulp-ng-annotate с gulp-systemjs-builder
Я написал свое приложение angularjs в формате CJS и использую gulp-systemjs-builder
связать их в один файл.
Я пытаюсь передать вывод gulp-ng-annotate
для DI, но это не удается, потому что systemjs-builder вставляет пару строк между \* @ngInject *\
и объявление функции.
Пример:
Перед пакетом:
/* @ngInject */
function ReportCtrl($scope) {
var _ctrl = this;
}
После Связки:
/* @ngInject */
var global = this || self,
GLOBAL = global;
function ReportCtrl($scope) {
var _ctrl = this;
}
Кто-нибудь может подсказать, как мне решить эту проблему?
1 ответ
Нашел решение в https://github.com/olov/ng-annotate
Вместо использования комментария /* @ngInject */
Я должен был использовать строку "ngInject";
в первой строке после объявления моей функции. Сюда gulp-systemjs-builder
не испортил порядок и ng-annotate
может успешно аннотировать функции.
Так что вместо того, чтобы писать это -
/* @ngInject */
function ReportCtrl($scope) {
var _ctrl = this;
}
Я должен был написать это -
function ReportCtrl($scope) {
"ngInject";
var _ctrl = this;
}