如何传递数据或在两个相关的Gulp任务之间进行通信?

时间:2016-09-07 18:39:24

标签: gulp

我希望按顺序运行任务,但希望将数据从一个任务传递到另一个任务。

这是我的代码。

Gulp任务1 - >编译Html

gulp.task('compile:html', function () {
return gulp.src(['src/templates/*.html', 'src/templates/*.template'])
    .pipe(plumber())
    .pipe(nunjucksRender({
        data: templateConfig, //in templateConfig environment is saved
        path: ['src/templates/']
    }))
    .pipe(gulp.dest('src/'));

});

Gulp任务2 - >生成构建

gulp.task('build:production', function (callback) {
var temp = templateConfig.env;
templateConfig.env = 'production';
gulp.start('compile:html');

setTimeout(function () {
    //gulp.src('./src/assets/**/*.*').pipe(gulp.dest('./generated/dist/production/assets'));
    gulp.src('src/*.html')
        .pipe(userRef())
        .pipe(gulpif('*.js', uglify()))
        .pipe(gulpif('*.css', minifyCss()))
        .pipe(gulp.dest('./dist/production'));

    templateConfig.env = temp;
    callback();
}, 2500);

});

目前我在任务2中使用超时根据环境为渲染模板留出时间。

任务2(生成构建)要求

  1. 更改templateConfig中的环境,因此生成相应的模板
  2. 使用任务1
  3. 编译模板
  4. 等待编译完成,可能需要很长时间
  5. 生成build to dist

0 个答案:

没有答案