gulp-ng-annotate - 如何使用它?

时间:2016-03-16 21:27:52

标签: angularjs gulp gulp-ng-annotate

我想缩小我的大角度项目。

使用angular 1.5.0。

我试图使用模块gulp-ng-annotate来这样做。

var gulp = require('gulp');
var ngAnnotate = require('gulp-ng-annotate');

gulp.task('default', function () {
return gulp.src('../www-myalcoholist-com-angular/model/app.js')
    .pipe(ngAnnotate())
    .pipe(gulp.dest('dist'));
});

当我执行这个nodejs脚本时,它会以静默方式失败。或者... ...它没有做任何事情。

我只给了主app.js文件作为参数。我能不能给出所有项目?

当我从终端运行ng-annotate时,它正确地为我的项目添加了注释..好吧..我希望:)

那么为什么这个脚本失败了?

我是gulp的新手,所以任何信息都会受到高度赞赏。

2 个答案:

答案 0 :(得分:2)

gulp-ng-annotate不会尝试在您的应用中查找其他文件。在将管道连接到gulp-ng-annotate或app.js所有文件之前,您需要将应用程序连接到单个src文件中,然后将它们传递给`gulp-ng-annotate。

E.g。 concat方法:

var gulp = require('gulp');
var ngAnnotate = require('gulp-ng-annotate');
var concat = require('gulp-concat');

gulp.task('default', function () {
 return gulp.src('../www-myalcoholist-com-angular/model/**/*.js')
    .pipe(concat('app.js'))
    .pipe(ngAnnotate())
    .pipe(gulp.dest('dist'));
});

答案 1 :(得分:0)

示例配置 -

gulp.task('app', function() {
    return gulp.src([
       // './bower_components/angular/angular.min.js',
       // './bower_components/angular-sanitize/angular-sanitize.min.js',
       //'./bower_components/angular-ui-select/dist/select.min.js',
       // './bower_components/angular-ui-router/release/angular-ui-router.min.js',
        './components/**/*.js'])
        .pipe(plumber())
        .pipe(count('## js-files selected'))
        .pipe(concat('./app/all.min.js', {newLine: ';'}))
        .pipe(ngAnnotate({
            // true helps add where @ngInject is not used. It infers.
            // Doesn't work with resolve, so we must be explicit there
            add: true
        }))
        .pipe(gulp.dest('./dist'));
});

这将生成一个连接的构建js文件。我将供应商的js文件分开,但你可以随心所欲。

P.S - 任何其他任务,例如Linting与监视任务分开完成。