Gulp не смотрит мой scss файл правильно

Я видел множество решений stackoverflow для этого, но ни одно из них не работает в моем сценарии.

Мои часы gulp, похоже, смотрят файл, но выходной файл не обновляется.

Запуск gulp работает нормально, так как по умолчанию настроен вызов задачи sass, и задача успешно компилирует мой выходной css.

Вот моя структура каталогов:

- css  
  - sass  
    * style.scss     
  * style.css  
* gulpfile.js  

и мой gulpfile:

// include gulp
var gulp = require('gulp');

// include plugins
var rename = require('gulp-rename');
var sass = require('gulp-sass');
var cssbeautify = require('gulp-cssbeautify');
var cssmin = require('gulp-cssmin');

// compile sass
gulp.task('sass', function  () {
    return gulp.src('./css/sass/*.scss')
        .pipe(sass())
        .pipe(cssbeautify())
        .pipe(gulp.dest('css'));
});

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

// default task
gulp.task('default', ['sass']);

gulp watch дает мне: (11:01 - это когда я сохранил файл)

[10:59:48] Использование gulpfile ~ / Sites / cla / 8_0 / web / intranet / reports / gulpfile.js
[10:59:48] Запуск просмотра ...
[10:59 : 48] Завершение просмотра через 12 мс
[11:01:25] Запуск sass ...
[11:01:25] Завершение просмотра через 24 мс

Любые идеи относительно того, почему мой вывод css не меняется?

Большое спасибо!


person Simon Willan    schedule 04.04.2016    source источник
comment
Вы пробовали скомпилировать его синхронно с sass.sync ()?   -  person Diego Gallegos    schedule 04.04.2016
comment
Обновляется ли вывод, когда вы вызываете задачу sass вручную?   -  person KWeiss    schedule 04.04.2016
comment
Выполнение вашей задачи по умолчанию работает нормально? в противном случае, возможно, это ваш путь назначения, вы можете попробовать ./css?   -  person Pred05    schedule 04.04.2016
comment
Возможно, в вашем scss файле есть ошибки. вы пробовали добавить on('error', sass.logError)?   -  person The Reason    schedule 04.04.2016
comment
@KWeiss и @ Pred05 да, это так. выполнение только gulp обновляет вывод, поскольку задача по умолчанию - sass.   -  person Simon Willan    schedule 04.04.2016


Ответы (1)


Это может быть проблема с ошибкой синтаксиса sass, так как у вас нет никаких функций в вашем sass taks no handle.

Вот пример из моего gulpfile

Попробуйте добавить .on ('error', sass.logError)) после вашего .pipe (sass ()), вот примерный пример:

gulp.task('sass',function(){                 
  gulp.src('./src/sass/main.scss')  
    .pipe(sass().on('error', sass.logError))
});
person IdeaMan    schedule 04.04.2016
comment
К сожалению, в журнале ошибок не отображается. Вроде все хорошо. Если я запускаю gulp сам по себе, sass компилируется нормально, что наводит меня на мысль, что задача sass правильная. - person Simon Willan; 04.04.2016