2014-11-03 14 views
25

Làm cách nào để tôi có thể yêu cầu Gulp bỏ qua hoặc bỏ qua một số tệp trong gulp.src([...])? Ví dụ, tôi không muốn nén và concat tệp này trong thư mục/css của tôi - 'css/ignnore.css'?Làm cách nào để yêu cầu Gulp bỏ qua hoặc bỏ qua một số tệp trong gulp.src ([...])?

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

gulp.task('styles', function() { 
    gulp.src([ 
     'css/ignnore.css', // ignore this file 
     'css/*.css' 
    ]) 
    .pipe(concat('styles.css')) 
    .pipe(autoprefix('last 2 versions')) 
    .pipe(minifyCss()) 
    .pipe(gulp.dest('local/view/style/base/css/dist/')); 
}); 

Trả lời

39

Thêm một !:

gulp.task('styles', function() { 
    gulp.src([ 
     '!css/ignnore.css', // <== ! 
     'css/*.css' 
    ]) 
    .pipe(concat('styles.css')) 
    .pipe(autoprefix('last 2 versions')) 
    .pipe(minifyCss()) 
    .pipe(gulp.dest('local/view/style/base/css/dist/')); 
}); 
+0

Tôi tin rằng thứ tự quan trọng và việc loại trừ phải được đặt sau khi đưa vào (vì vậy nó có những thứ cần loại trừ). –

+0

@GustavoVargas Không theo [bình luận này] (https://github.com/gulpjs/gulp/issues/837#issuecomment-68069722) trên GitHub. Đã không thực hiện nhiều nghiên cứu vào nó bản thân mình mặc dù. – jlowgren

+1

FWIW Tôi đã thử cả hai thứ tự và có cùng hiệu ứng, chính xác. – peteorpeter

6

Hãy thử điều này:

gulp.src(['css/**/!(ignore.css)*.css']) 
+0

Tôi đang cố gắng để làm điều này với một tập tin kết thúc và có vẻ như không được làm việc, không biết tại sao! Tôi có ''/ ** /! (. Spec.js) *. Js'' Bất kỳ ý tưởng gì sai với nó? Đang thử mọi thứ @qwertymk –

+0

Cảm ơn bạn. Điều này dường như làm việc cho tôi 'var tsFiles = '! (Node_modules)/**/*. Ts';' – JonathanPeel

+0

Đây là một cách rất đơn giản để loại trừ tệp/loại tệp. Bravo! Trường hợp sử dụng của tôi là ngăn các tệp '.html' bị sao chép trong thư mục lib script và thay đổi định nghĩa src của cấu hình gulp của tôi thành 'lib' thành:' lib: './src/assets/scripts/lib/** /! (*. html) * ''đã làm thủ thuật! –

Các vấn đề liên quan