我已经在线阅读了'run-sequence'将确保所有指定的任务将同步运行。出于某种原因,我的情况并非如此。我错过了什么吗?在gulp中同步执行任务
“convertSassToCss”是如预期
如果我想运行的任务“cleanAllCss”和“convertSassToCss” seperatelly不工作,它会工作的任务。
这里的想法是首先从目录中删除所有的CSS文件,然后所有的青菜文件转换为CSS和放置到清洗DIR
/// <binding BeforeBuild='clean, min:css' Clean='clean' />
"use strict";
var gulp = require("gulp"),
rimraf = require("rimraf"),
concat = require("gulp-concat"),
cssmin = require("gulp-cssmin"),
uglify = require("gulp-uglify"),
sass = require('gulp-sass'),
rename = require('gulp-rename'),
del = require('del'),
runSequence = require('run-sequence');
var paths = {
webroot: "./wwwroot/"
};
paths.cssPath = paths.webroot + "css/*.css";
paths.cssOutputPath = paths.webroot + "css";
//sass
paths.sassPath = paths.webroot + "sass/**/*.scss";
paths.sassOutputPath = paths.webroot + "./css/file";
gulp.task("cleanAllCss", function (cb) {
console.log("2 -- Removing all CSS files");
del([paths.cssOutputPath + "/*.css"], cb);
console.log("2 -- DONE - Removed all css files");
});
gulp.task("convertSassToCss", function (cb) {
console.log("3 -- Converting all SASS files into corresponding CSS");
gulp.src(paths.sassPath)
.pipe(sass())
.pipe(gulp.dest(paths.cssOutputPath));
console.log("3 -- DONE - Converting all SASS files into corresponding CSS");
});
//not working, should run in sequence
gulp.task("convertAllSassIntoCssMin", function (callback) {
console.log("1 -- Converting all SASS files into corresponding min CSS files")
runSequence('cleanAllCss', 'convertSassToCss', callback);
console.log("1 -- DONE - Converting all SASS files into corresponding min CSS files")
});
你是什么意思“不工作”?执行convertAllSassIntoCssMin任务时的结果是什么?控制台上打印什么? –
它不会生成并将css文件输出到上面提到的目录中。控制台输出1,2,2,1,最后进程终止于代码0. 3永远不会到达,但它应该 – lucas