es.merge不合并我的流

时间:2014-12-11 18:22:18

标签: javascript angularjs node.js gulp angular-template

我有以下gulp任务:

var es = require('event-stream'),
    concat = require('gulp-concat'),
    templateCache = require('gulp-angular-templatecache');

var scripts = gulp.src(paths.js + '/**/*.js'),
    templates = gulp.src(paths.templates + '/**/*.html')
        .pipe(templateCache('templates.js', {
            module: 'spot.im.core',
            standalone: false
        }));

es.merge(templates, scripts)
    .pipe(concat('all.js'))
    .pipe(gulp.dest(paths.dist))

运行时,我没有在all.js中获取模板。但是,当我在做的时候:

es.merge(templates)
    .pipe(concat('all.js'))
    .pipe(gulp.dest(paths.dist))

all.js包含模板。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我想你忘了在这里定义任务;并且,您可以使用merge-stream替换event-stream。我在许多gulp任务中运行merge-stream都没有问题。

var merge = require('merge-stream'),
    concat = require('gulp-concat'),
    templateCache = require('gulp-angular-templatecache');

gulp.task('default', function () {
    var scripts = gulp.src(paths.js + '/**/*.js');
    var templates = gulp.src(paths.templates + '/**/*.html')
        .pipe(templateCache('templates.js', {
            module: 'spot.im.core',
            standalone: false
        }));

    return merge(templates, scripts)
        .pipe(concat('all.js'))
        .pipe(gulp.dest(paths.dist));
});

使用gulp在命令行上运行。