Использование 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;
}
Другие вопросы по тегам