在Gulp中运行所有任务后,如何删除文件夹及其内容?

时间:2015-02-21 16:47:49

标签: javascript node.js gulp delete-directory

这是我现在拥有的,但它不起作用。没有清除css文件夹,但没有抛出任何错误。

var gulp = require('gulp');
var sass = require('gulp-sass');
var autoprefixer = require('gulp-autoprefixer');
var concat = require('gulp-concat');
var minifyCSS = require('gulp-minify-css');
var del = require('del');

gulp.task('default', ['compile-sass', 'process-css', 'clean-css']);

gulp.task('compile-sass', function () {
    gulp.src('resources/assets/sass/main.scss')

        // Compile Sass
        .pipe(sass({
            includePaths: ['resources/assets/bower/foundation/scss/foundation/components/']
        }))

        // Autoprefix CSS
        .pipe(autoprefixer({
            browsers: ['last 2 versions'],
            cascade: false
        }))

        // Move to Temp Destination
        .pipe(gulp.dest('resources/assets/css'));

});

gulp.task('process-css', ['compile-sass'], function () {
    gulp.src(['resources/assets/css/main.css', 'bower/slick/slick/slick.css'])

        // Concat CSS Files
        .pipe(concat('all.min.css'))

        // Minify CSS
        .pipe(minifyCSS())

        // Move to Final Destination
        .pipe(gulp.dest('public/assets/css/'));

});

gulp.task('clean-css', ['process-css'], function () {

    // Delete Temp Files & Folders
    del(['resources/assets/css/']);

});

1 个答案:

答案 0 :(得分:6)

我明白了。我不得不从先前的任务中返回流来确认它们已经完成。

var gulp = require('gulp');
var sass = require('gulp-sass');
var autoprefixer = require('gulp-autoprefixer');
var concat = require('gulp-concat');
var minifyCSS = require('gulp-minify-css');
var del = require('del');

gulp.task('default', ['compile-sass', 'process-css', 'clean-css']);

gulp.task('compile-sass', function () {
    var stream = gulp.src('resources/assets/sass/main.scss')

        // Compile Sass
        .pipe(sass({
            includePaths: ['resources/assets/bower/foundation/scss/foundation/components/']
        }))

        // Autoprefix CSS
        .pipe(autoprefixer({
            browsers: ['last 2 versions'],
            cascade: false
        }))

        // Move to Temp Destination
        .pipe(gulp.dest('resources/assets/css'));

    return stream;

});

gulp.task('process-css', ['compile-sass'], function () {
    var stream = gulp.src(['resources/assets/css/main.css', 'bower/slick/slick/slick.css'])

        // Concat CSS Files
        .pipe(concat('all.min.css'))

        // Minify CSS
        .pipe(minifyCSS())

        // Move to Final Destination
        .pipe(gulp.dest('public/assets/css/'));

    return stream;

});

gulp.task('clean-css', ['process-css'], function () {

    // Delete Temp Files & Folders
    del(['resources/assets/css/']);

});