2015-10-12 32 views
6

Gulp Plugin ngụm-ruby-sass (https://github.com/sindresorhus/gulp-ruby-sass) đưa ra không phải biên dịch, thông báo lỗi trong thiết bị đầu cuối đến như thế nàyngụm cắm ngụm-ruby-sass không biên dịch

Error: must provide pattern

Đây là gulpfile.js chi tiết

var gulp = require('gulp'), 
    uglify = require('gulp-uglify'), 
    sass = require('gulp-ruby-sass'); 

    gulp.task('styles', function (argument) { 
     gulp.src('sass/app.scss') 
      .pipe(sass()) 
      .pipe(gulp.dest('css/')); 
    }); 

Trả lời

6

Các official gulp-ruby-sass documentation nói nó nên được thực hiện như thế này:

var gulp = require('gulp'); 
var sass = require('gulp-ruby-sass');  

gulp.task('sass', function() { 
    return sass('source/file.scss') 
    .on('error', sass.logError) 
    .pipe(gulp.dest('result')); 
}); 
+0

tôi đã có giải pháp đó, nhưng tôi vẫn sợ tại sao đoạn code 'gulp.src ('sass/app.scss') 'doesn 't làm việc. vì hầu hết các hướng dẫn đều làm việc với mã này :( ví dụ: https: //www.youtube.com/watch? v = cg7lwX0u-U0, https://www.youtube.com/watch?v=NkomAUQxYr8 – Muhammed

+0

Hàm sass hoạt động theo một cách khác, nó mong đợi một đối số 'pattern' .Đó là lý do tại sao bạn nhận được lỗi này Tại sao mã ví dụ không hoạt động cho bạn? cho bạn với ví dụ chính thức? – user1120808

17

Cú pháp ngụm-ruby-sass đã được thay đổi:

instead of:       it is now: 

gulp.task('styles', function(){  gulp.task('styles', function(){ 
    gulp.src('sass/app.scss')   return 
     .pipe(sass())      sass('sass/app.scss') 
     .pipe(gulp.dest('css/')    .pipe(gulp.dest('css/') 
    ;         ; 
});         }); 

Vui lòng kiểm tra nó ra và đánh dấu vấn đề của bạn như giải quyết.

+2

ok, nếu tôi muốn chạy sass sau một số plugin khác thì nó không phải là phương pháp đầu tiên được sử dụng trong đường ống –

2

Install libsass because it runs much faster than ruby sass , it works with node

npm install gulp-sass --save-dev` 

Install gulp load plugins because it does so much and loads plugins from your json and you dont need to declare in your gulpfile (carefull how many you use because if you load too many it hinders performance)

npm install --save-dev gulp-load-plugins 

var gulp = require('gulp'), 
     $ = require('gulp-load-plugins')({ 
     pattern: ['gulp-*', 'gulp.*'], 
     replaceString: /\bgulp[\-.]/, 
     lazy: true, 
     camelize: true 
     }); 

gulp.task('libsass', function() { 
     gulp.src('sass/app.scss') 
      .pipe($.sass({errLogToConsole: true})) 
      .pipe($.autoprefixer({ 
      browsers: ['last 2 versions'], 
      cascade: false 
      })) 
      .pipe($.sourcemaps.write('app/css/map')) 
      .pipe(gulp.dest('app/css')) 
    }); 
Các vấn đề liên quan