2015-04-30 4 views
1

Здесь app/folder1/ содержит 3 файла angularjs (контроллер, сервис, завод). Используя 'task1', я объединять все html-файлы в 'templates.js'. В 'task2' мне нужно объединить 3 файла angularjs и 1 файл templates.js в один файл.Gulp: Файл не умеет читать, который был создан в последней задаче

Но в 'task2' система считывает только 3 файла с угловым файлом. Если я запускаю «task2» отдельно, система объединяет 4 файла.

gulp.task('task1',function() { 
    gulp.src('app/**/*.html') 
      .pipe(minifyHtml({empty: true})) 
      .on('error', gutil.log) 
      .pipe(templateCache({root: 'app/folder1/',module:'myModule'})) 
      .on('error', gutil.log) 
      .pipe(gulp.dest('app/folder2/')) 
      .on('error', gutil.log); 
    }); 
}); 

gulp.task('task2',function(){ 
    var newName = 'script_' + new Date().getTime() + '.js'; 
    gulp.src('app/folder2/**/*.js') 
     .on('error', gutil.log) 
     .pipe(concat(newName,{newLine: ';'})) 
     .on('error', gutil.log) 
     .pipe(gulp.dest('/dist/')) 
     .on('error', gutil.log) 
     .pipe(uglify({mangle:false })) 
     .on('error', gutil.log) 
     .pipe(gulp.dest('/dist/')) 
     .on('error', gutil.log); 
    }); 
}); 


gulp.task('default', function(callback) { 
    runSequence('task1','task2',callback); 
}); 

Если я запустить gulp команду он не сочетая templates.js файлов.

Если я запустил gulp, gulp task2, тогда он работает должным образом.

В чем проблема?

ответ

1

Я считаю, что вам нужно вернуть поток, если вы не собираетесь обрабатывать callback в пределах task1 и task2.

return gulp.src('app/**/*.html') 
     .pipe(... 
+0

Да, иначе, gulp не может эффективно сказать, завершил ли поток обработку, даже с последовательностью. –

+0

@defour Да, его работа как ожидалось. Благодарю. –