2017-06-29 29 views
2

我的代碼:咕嘟咕嘟 - 基本CONCAT /縮小犯規輸出文件

var gulp = require('gulp'), 
    concat = require('gulp-concat'), 
    minify = require('gulp-minify-css'); 

gulp.task('css', function() { 
    var styles = [ 
     'node_modules/sweetalert/dist/sweetalert.css' 
    ]; 

    return 
     gulp.src(styles) 
     .pipe(minify()) 
     .pipe(concat('libs.min.css')) 
     .pipe(gulp.dest('public/assets/css')); 
}); 

環境:

  • 源文件存在。
  • 輸出目錄存在且可寫。
  • 輸出乾淨,沒有錯誤。

控制檯輸出:

[email protected]:/var/www/test# gulp css 
[12:51:27] Using gulpfile /var/www/test/gulpfile.js 
[12:51:27] Starting 'css'...` 
[12:51:27] Finished 'css' after 582ms 

這不輸出任何CSS。

出了什麼問題?

== ==編輯

發現問題就在這裏:

// This doesn't work 
return 
    gulp.src(styles) 
    .pipe(minify()) 
    .pipe(concat('libs.min.css')) 
    .pipe(gulp.dest('public/assets/css')); 

// This works 
return gulp.src(styles) 
    .pipe(minify()) 
    .pipe(concat('libs.min.css')) 
    .pipe(gulp.dest('public/assets/css')); 

任何人都可以解釋,爲什麼?

回答

1

JavaScript執行自動分號插入。所以這個:

return 
    gulp.src(styles) 
    .pipe(minify()) 
    .pipe(concat('libs.min.css')) 
    .pipe(gulp.dest('public/assets/css')); 

轉化成這樣:

return; // <-- Nothing after this is executed! 
    gulp.src(styles) 
    .pipe(minify()) 
    .pipe(concat('libs.min.css')) 
    .pipe(gulp.dest('public/assets/css')); 

欲瞭解更多信息,請參閱Beware Of JavaScript Semicolon Insertion