我已經設置了一個非常簡單的gulpfile.js
只有兩個任務 - 'sass'和'minify-js'。當檢測到變化時,這兩個任務由任務「監視」觸發。它似乎一切正常:Gulp正在監聽更改,* .scss文件被編譯爲CSS,控制檯按預期生成輸出,沒有任何錯誤。但是,CSS文件不會被縮小,不會有任何輸出文件來自'minify-css'任務。Gulp-minify-css不會產生輸出文件
爲什麼'minify-css'不工作?我在這裏錯過了什麼?
這是我gulpfile.js:
var gulp = require('gulp');
var sass = require('gulp-sass');
var watch = require('gulp-watch');
var minifyCSS = require('gulp-minify-css');
gulp.task('sass', function() {
gulp.src('plugins/SoSensational/styles/sass/*.scss')
.pipe(sass())
.pipe(gulp.dest('plugins/SoSensational/styles/dest/'));
});
gulp.task('minify-css', function() {
gulp.src('plugins/SoSensational/styles/dest/*.css')
.pipe(minifyCSS())
.pipe(gulp.dest('plugins/SoSensational/styles/dest/'));
});
gulp.task('watch', function() {
gulp.watch('plugins/SoSensational/styles/sass/*.scss', ['sass', 'minify-css']);
});
這是正確的答案。我只需要讓['sass']成爲依賴。因爲我需要中間結果,所以我選擇了第一個選項。順便說一下,我只是想知道一些任務需要在不一致函數中返回'而另一些則不需要。這在使用不同的gulp插件的例子中更加明顯。爲什麼這種不一致? – luqo33 2015-04-02 08:43:28
return語句告訴Gulp你使用了一個流,而這樣的Gulp能夠更好地安排任務的並行執行。另一種方法是使用完成的回調。你的監視任務不需要一個,因爲'gulp.watch'調用將是唯一執行的語句,不需要編排。 – ddprrt 2015-04-02 09:04:54
@ddprrt我試過第二個版本,但系統告訴我沒有吞嚥手錶。我應該把手錶放在哪裏? – 2017-03-10 01:15:57