Libsass 2.0给libsass用户带来了缩进语法,但到目前为止,我还无法使它与node-sass和gulp-sass一起工作。我有所有的最新版本:
节点-sass:0.93
gulp:0.7.2
gulp:3.8.2
此设置使用括号语法编译.scss文件,甚至.sass文件,但不会编译缩进语法。是否有人成功地用node和gulp编译了缩进语法?
我的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']);运行默认任务时错误
error: invalid top-level expression
发布于 2014-08-08 20:07:14
最新答复:
如果要使用缩进语法(.sass)作为顶级文件,请使用sass({indentedSyntax: true})。
sass({indentedSyntax: true})过时的答案
在这里找到答案:https://github.com/dlmanning/gulp-sass/issues/55#issuecomment-50882250
在默认设置下,编译sass文件不起作用。然而,有一个解决办法。如果您传递sourceComments:'normal‘作为参数,则编译工作。这是因为有一个奇怪的条件可以改变文件的处理方式:https://github.com/dlmanning/gulp-sass/blob/master/index.js#L23-L27。
这里找到的代码示例:https://github.com/chrisdl/gulp-libsass-example/blob/master/gulpfile.js
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'));
});通知
如果使用此片段遇到问题,请查看下面的引号和问题。
使用此解决方案将导致从gulp管道的早期开始对文件内容的任何更改(例如,早期插件)被丢弃- JMM。
发布于 2015-02-12 10:51:51
为了更新这个答案,狼吞虎咽文件现在说:
如果要使用缩进语法(.sass)作为顶级文件,请使用
sass({indentedSyntax: true})。
https://stackoverflow.com/questions/24397679
复制相似问题