我开始吞咽后出错了。我已经取出所有其他插件来找到问题:
[gulp-sass] source string:1: error: invalid top-level expression
gulpfile.js:
var gulp = require('gulp');
var sass = require('gulp-sass');
gulp.task('sass', function() {
gulp.src('app/assets/sass/styles.sass')
.pipe(sass({
errLogToConsole: true
}))
.pipe(gulp.dest('public_html/assets/css'))
});
gulp.task('default', ['sass'], function() {
gulp.watch("app/assets/sass/*.sass", ['sass']);
});
Windows 7
答案 0 :(得分:13)
如果要使用缩进语法(.sass)作为顶级文件,请使用
pipe(sass({ indentedSyntax: true }))
而不是
pipe(sass())
。
答案 1 :(得分:4)
您可以尝试使用sourceComments
选项并将其设置为normal
中的sass
吗?如果你没有通过它,似乎有一些问题。
因此,请尝试按以下步骤更改您的任务:
gulp.task('sass', function () {
gulp.src('app/assets/sass/styles.sass')
.pipe(sass({
errLogToConsole: true,
sourceComments : 'normal'
}))
.pipe(gulp.dest('public_html/assets/css'))
});
查看related issue的gulp-sass。或者,您仍然可以使用gulp-ruby-sass。
答案 2 :(得分:0)
非常有趣的是,我的问题是插件gulp-sass
忽略了顶级文件的扩展,无论如何都会解析为SCSS。
包含正常工作,因此解决方案是在顶部包含一个衬垫。