2014-11-13 2 views
1

Я использую Gulp с узлом-sass для компиляции моего sass. Я также использую node-neat и node-bourbon. Однако, когда я компилирую, это занимает 30-50 секунд! Что я делаю не так? Я не совсем уверен, как libsass играет в gulp-sass и node-sass, или в чем разница между gulp-sass и node-sass. В моем gulpfile.js я пробовал оба sass = require('gulp-sass'), и sass = require('node-sass'),, но они дают мне те же результаты. Кроме того, я использую сантехник, и если у меня есть ошибка, он перестает смотреть. Вот мой gulpfile.js:Компиляция с gulp/node/libsass занимает 30 секунд

var gulp = require('gulp'), 
    sass = require('gulp-sass'), 
    bourbon = require('node-bourbon').includePaths; 
    neat = require('node-neat').includePaths; 
    cache = require('gulp-cache'), 
    plumber = require('gulp-plumber'), 
    notify = require("gulp-notify"), 
    sourcemaps = require('gulp-sourcemaps'); 

gulp.task('styles', function() { 
    return gulp.src('sass/cleverDesign.scss') 
    .pipe(plumber()) 
    .pipe(sourcemaps.init()) 
    .pipe(sass({ 
     style: 'expanded', 
     includePaths: require('node-bourbon').includePaths, 
     includePaths: require('node-neat').includePaths})) 
    .pipe(gulp.dest('sass/')) 
    .pipe(sourcemaps.write()) 
    .pipe(gulp.dest('sass/')); 
}); 

// Watch 
gulp.task('watch', function() { 
    // Watch .scss files 
    gulp.watch('sass/**/*.scss', ['styles']); 
}); 

gulp.task('default', ['styles', 'watch']); 
+0

[проглатывать-Sass] (https://github.com/dlmanning/gulp-sass) является глотка плагин для [узел-Sass] (https://github.com/sass/node-sass), которая представляет собой библиотеку, которая обеспечивает привязку для Node.js к [libsass] (https://github.com/sass/libsass), которая является версией C популярный препроцессор стилей, Сасс. – Heikki

+0

Вы пытались удалить плагины, чтобы точно определить, что занимает большую часть времени? – Heikki

+0

@Heikki спасибо. Я установил gulp-sass. что мне нужно сделать, чтобы установить конец libsass? – Steph

ответ

1

libSass база> NodeSass (основная обертка узла)> Глоток-Сассы (проглатывать дружественную версию)

Что касается медленного времени компиляции я бы удвоиться проверить версию узла и убедитесь, что ваши узловые модули для gulp-sass - самая новая версия. Исправлены некоторые критические ошибки.

Для вопроса о сантехнике это можно решить, добавив еще несколько строк в конфигурацию gulp-sass. errLogToConsole: правда, и .pipe (plumber.stop())

var gulp = require('gulp'), 
    sass = require('gulp-sass'), 
    bourbon = require('node-bourbon').includePaths; 
    neat = require('node-neat').includePaths; 
    cache = require('gulp-cache'), 
    plumber = require('gulp-plumber'), 
    sourcemaps = require('gulp-sourcemaps'); 


gulp.task('styles', function() { 
    return gulp.src('sass/mainScss.scss') 
    .pipe(plumber()) 
    .pipe(sourcemaps.init()) 
    .pipe(sass({ 
     style: 'expanded', 
     errLogToConsole: true, 
     includePaths: require('node-bourbon').includePaths, 
     includePaths: require('node-neat').includePaths})) 
    .pipe(gulp.dest('sass/')) 
    .pipe(sourcemaps.write()) 
    .pipe(plumber.stop()) 
    .pipe(gulp.dest('sass/')) 
}); 

// Default task 
gulp.task('default', function() { 
    gulp.start('styles'); 
}); 

// Watch 
gulp.task('watch', function() { 
    gulp.watch('sass/**/*.scss', ['styles']); 
}); 
+1

Несколько объектов' includePaths' в sass options не имеют смысла. – Heikki

+0

Согласен с @Heikki. includePaths принимает массив. Эти два includePaths должны быть объединены. например: 'includePaths: require (...). includePaths.concat (require (..). includePath)' – Alkaline

Смежные вопросы