2017-01-30 12 views
2

РЕШЕНИЕ:Глоток не компиляции дерзость, хотя и не показывает никаких ошибок

переименовании _styles.scss к test.scss и _styles.css к test.css фик его. Зачем?


Он работал хорошо раньше. Теперь ничего не компилируется. Файлы css не создаются и пусты или не обновляются.

терминал:

[email protected]:/var/www/html/mg/app/design/frontend/Training/default$ sudo gulp default 
[sudo] password for asd: 
[14:50:48] Using gulpfile /var/www/html/mg/app/design/frontend/Training/default/gulpfile.js 
[14:50:48] Starting 'default'... 
[14:50:48] Finished 'default' after 14 ms 
^C 
[email protected]:/var/www/html/mg/app/design/frontend/Training/default$ sudo gulp styles 
[14:50:56] Using gulpfile /var/www/html/mg/app/design/frontend/Training/default/gulpfile.js 
[14:50:56] Starting 'styles'... 
[14:50:56] Finished 'styles' after 13 ms 
[email protected]:/var/www/html/mg/app/design/frontend/Training/default$ sudo gulp pub 
[14:51:02] Using gulpfile /var/www/html/mg/app/design/frontend/Training/default/gulpfile.js 
[14:51:02] Starting 'pub'... 
[14:51:02] Finished 'pub' after 12 ms 

gulpfile.js:

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

gulp.task('styles', function() { 
    gulp.src('web/sass/**/*.scss') 
     .pipe(sass().on('error', sass.logError)) 
     .pipe(gulp.dest('web/css/')); 
}); 

gulp.task('pub', function() { 
    gulp.src('web/sass/**/*.scss') 
     .pipe(sass().on('error', sass.logError)) 
     .pipe(gulp.dest('../../../../../pub/static/frontend/Scandi/default/en_US/css/')); 
}); 

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

enter image description here

+0

Я думаю, что это должно быть '.pipe (дерзость()) .он ('ошибка', sass.logError)' вместо '.pipe (sass(). on ('error', sass.logError))' – Sergeon

+0

@Sergeon ничего не изменил. – Rudolph

+0

Основной файл sass не должен иметь подчеркивания в его имени. '_styles.scss' должен быть' styles.scss' - потому что он не является частичным. – jacmoe

ответ

2

Глоток-дерзость будет счастливо собрать все, что не Sass парциальное автоматически при каждом изменении.

По умолчанию каждый файл Sass с префиксом подчеркивания является partial и предназначен для импорта в один или несколько основных файлов Sass.

На практике это означает, что вам нужен хотя бы один файл Sass, не содержащий знака подчеркивания для компиляции для правильной работы/вывода.

В вашем случае просто переименуйте _styles.scss в styles.scss, и это должно привести к styles.css в вашем целевом каталоге CSS. :)

Partials позволяет организовать исходный код Sass очень аккуратными способами, см The Sass Way - How to structure a Sass project