虽然没有显示任何错误,但Gulp没有编译sass

时间:2017-01-30 12:57:01

标签: gulp gulp-sass

SOLUTION:

将_styles.scss重命名为test.scss和_styles.css,以使test.css修复它。为什么呢?

之前工作正常。现在没有编译任何内容.css文件没有被创建,是空的或没有更新。

终端:

asd@dsa:/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
asd@dsa:/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
asd@dsa:/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

1 个答案:

答案 0 :(得分:2)

Gulp-sass很乐意在它改变时自动编译不是Sass部分的所有内容。

默认情况下,每个以下划线为前缀的Sass文件都是partial,并且意味着要导入到一个或多个Sass' master'文件。

实际上,这意味着您至少需要一个没有前缀下划线的Sass文件才能正常工作/输出编译。

在您的情况下,只需将_styles.scss重命名为styles.scss即可在目标CSS目录中生成styles.css。 :)

Partials允许您以非常简洁的方式整理Sass源代码,请参阅The Sass Way - How to structure a Sass project