2015-03-03 159 views
4
gulp.task('minify-css', function() { 

    gulp.src(['src/test/test.css]) 
    .pipe(concat('test1.css')) 
    .pipe(minifyCSS()) 
    .pipe(gulp.dest('src/source/')) 
    .pipe(filesize()) 

}); 
gulp.task('copy-css',['minify-css'], function() { 

    gulp.src('src/source/*.css') 
    .pipe(gulp.dest('src/dest/')); 

}); 

看來,我第一次運行「一飲而盡複製CSS」Gulp.js - 無法生成的文件從一個文件夾複製到另一個

Starting 'minify-css'... 
[18:54:39] Finished 'minify-css' after 61 ms 
[18:54:39] Starting 'copy-css'... 
[18:54:39] Finished 'copy-css' after 1.86 ms 

,但在複製操作不執行可能是因爲它甚至在沒有生成要複製的文件之前執行

儘管我已經提到minify-css作爲copy-css任務的依賴關係,但在這種情況下它似乎沒有遵循該約定。

當gulp copy-css再次運行時,這次文件被複制,因爲該文件已經從先前執行的命令中生成。但是當代碼被用於生產時,這會超過目的。

回答

2

更改這兩個任務如下

gulp.task('minify-css', function() { 
    return gulp.src(['src/test/test.css]) 
    .pipe(concat('test1.css')) 
    .pipe(minifyCSS()) 
    .pipe(gulp.dest('src/source/')) 
    .pipe(filesize())  
}); 

gulp.task('copy-css',['minify-css'], function() { 
    return gulp.src('src/source/*.css') 
    .pipe(gulp.dest('src/dest/')); 

}); 

附加收益,這樣下一個任務運行第一個運行之後,否則縮小,CSS完成之前,即使你複製CSSS運行..因此錯誤...

+0

好,這是一個很好的解決方案。但如果添加另一個文件在'minify-css'任務中被縮小。即使在縮小下一個文件之前它也不會返回。任何解決方案? – 2015-03-03 14:36:12

+0

不...把你所有的css縮小到gulp.src ..它會工作,因爲你exphct – harishr 2015-03-04 03:51:26

+0

我的意思是,如果需要縮小另一組css文件 – 2015-03-04 03:56:30

1

我想看看這個question,因爲它似乎你可能有gulp.src(['src/test/test.css])之前添加return關鍵字...

1

嘗試用在on('finish')事件的回調:

gulp.task('minify-css', function (cb) { 

    gulp.src(['src/test/test.css']) 
    .pipe(concat('test1.css')) 
    .pipe(minifyCSS()) 
    .pipe(gulp.dest('src/source/')) 
    .pipe(filesize()) 
    .on('finish', function() { 
     // All tasks should now be done 
     return cb(); 
    }) 

}); 

gulp.task('copy-css',['minify-css'], function() { 

    gulp.src('src/source/*.css') 
    .pipe(gulp.dest('src/dest/')); 

}); 

PS: 你還在您的gulp.src數組中出現語法錯誤,只是缺少報價'這裏gulp.src(['src/test/test.css])

相關問題