Я пытаюсь установить пакеты через беседку, и как только установка будет завершена, я хочу, чтобы файлы были перемещены из папки dist в родительский, а затем удалили папку dist. Но почему-то это не работает должным образом.Задачи Gulp не работают синхронно
var gulp = require('gulp'),
bower = require('gulp-bower'),
del = require('del'),
fs = require('fs'),
path = require('path'),
merge = require('merge-stream');
vinylPaths = require('vinyl-paths');
runSequence = require('run-sequence');
var appPath="./www";
var folders = getFolders(appPath);
/* Function to get folders present in www */
function getFolders(dir) {
return fs.readdirSync(dir)
.filter(function(file) {
return fs.statSync(path.join(dir, file)).isDirectory();
});
}
gulp.task('clean', function(){
var tasks = folders.map(function(folder) {
return gulp.src(path.join(appPath, folder))
.pipe(vinylPaths(del))
});
});
/* Gulp task to run bower install */
gulp.task('bower', ['clean'], function() {
return bower({cmd: "install"});
});
/* Gulp task to copy files from dist folder to their parent folders */
gulp.task('moveFiles', ['bower'], function(){
var tasks = folders.map(function(folder) {
console.log("FOLDER", folder);
return gulp.src(path.join(appPath, folder, '/dist/**/*'))
.pipe(gulp.dest(path.join(appPath, folder)));
});
return tasks;
});
/* Gulp task to clean the dist folder after files have been copied */
gulp.task('delete-dist-folder', ['moveFiles'], function() {
var tasks = folders.map(function(folder) {
return gulp.src(path.join(appPath, folder, '/dist'))
.pipe(vinylPaths(del))
});
return tasks;
});
gulp.task('default', ['delete-dist-folder']);
Это то, что я написал до сих пор. После беседы остальные две задачи не выполняются. Но если я запускаю их индивидуально, они работают отлично.
Я не могу понять, что здесь не так. Любая помощь будет принята с благодарностью.
В задаче 'clean' вы не возвращаетесь. Если вы хотите транслировать несколько потоков, вы можете захотеть взглянуть на [' map-stream'] (https://www.npmjs.com/package/карта-поток). – MarcoL
@MarcoL: спасибо за предложение. Я попробую. – Shivi