是什么导致我的GULP gulpfile.js文件中出现“无效的顶级表达式”错误?

时间:2014-06-15 01:03:28

标签: javascript windows gulp

我开始吞咽后出错了。我已经取出所有其他插件来找到问题:

[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

3 个答案:

答案 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 issuegulp-sass。或者,您仍然可以使用gulp-ruby-sass

答案 2 :(得分:0)

非常有趣的是,我的问题是插件gulp-sass忽略了顶级文件的扩展,无论如何都会解析为SCSS。

包含正常工作,因此解决方案是在顶部包含一个衬垫。