2017-01-30 12 views
2

SOLUTION:咕嘟咕嘟不编译SASS尽管未示出的任何错误

重命名_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())。在( '错误',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.scssstyles.scss,并应导致你的目标CSS目录styles.css。 :)

局部模板让你组织你的Sass源代码很整齐的方式,请参阅The Sass Way - How to structure a Sass project