Css 缩进的Sass语法不适用于节点Sass和gulp Sass

Css 缩进的Sass语法不适用于节点Sass和gulp Sass,css,node.js,sass,gulp,Css,Node.js,Sass,Gulp,libsass2.0为Libsass用户提供了缩进语法,但到目前为止,我无法使其与节点sass和gulp sass一起工作。我有所有最新版本: 节点sass:0.93 大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口 大口喝下去:3.8.2 此设置使用括号语法编译.scss文件,甚至编译.sass文件,但不会编译缩进语法。是否有人使用node sass和gulp成功编译缩进语法 Mygulpfile.js

libsass2.0为Libsass用户提供了缩进语法,但到目前为止,我无法使其与
节点sass
gulp sass
一起工作。我有所有最新版本:

节点sass:0.93
大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口 大口喝下去:3.8.2

此设置使用括号语法编译
.scss
文件,甚至编译
.sass
文件,但不会编译缩进语法。是否有人使用node sass和gulp成功编译缩进语法

My
gulpfile.js

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

gulp.task('sass', function() {
    return gulp.src('./sites/all/themes/nsfvb/sass/screen.sass')
        .pipe(sass({
            includePaths: require('node-neat').includePaths,
            errLogToConsole: true
        }
        ))
        .pipe(gulp.dest('./sites/all/themes/nsfvb/css'));
});

gulp.task('watch', function() {
    gulp.watch('./sites/all/themes/nsfvb/sass/*.sass', ['sass']);
});

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

运行默认任务时出错

错误:顶层表达式无效

更新的答案: 如果要将缩进语法(.sass)用作顶级文件,请使用sass({indentedSyntax:true})

过时的答案 答案如下:

使用默认设置编译sass文件不起作用。然而,有一个解决办法。如果将sourceComments:“normal”作为参数传递给编译工作。原因是有一种奇怪的情况会改变文件的处理方式:

代码示例如下:

通知 如果使用此代码段遇到问题,请查看以下引用和问题

使用此解决方法将导致放弃gulp管道中早期对文件内容的任何更改(例如早期插件)-JMM


为了更新这个答案,现在的答案是:

如果要将缩进语法(.sass)用作顶级文件,请使用
sass({indentedSyntax:true})


您的答案应该在:。这是一条已知的消息。我也在试图弄清楚……@Navelpluisje仅供参考,这不是语法错误,我只用一行代码就测试了它。它使用大括号编译,而不使用缩进syntax.FYI编译,使用该解决方法将导致放弃gulp管道早期对文件内容所做的任何更改(例如早期插件)。看,它起作用了!但是可以进行优化。无用地显示评论
sass({indentedSyntax: true})
var gulp = require('gulp');
var sass = require('gulp-sass');

// Run with "> gulp sass" in terminal.
gulp.task('sass', function () {
gulp.src('./sass/main.sass')
    .pipe(sass({sourceComments: 'normal'}))
    .pipe(gulp.dest('./css'));
});