Libsass 2.0 为 libsass 用户带来了缩进语法,但到目前为止,我还无法使其与 node-sass 和 gulp-sass 一起使用.我有所有最新版本:
node-sass:0.93
gulp-sass:0.7.2
吞咽:3.8.2
此设置使用括号语法编译 .scss 文件甚至 .sass 文件,但不会编译缩进语法.有人用 node-sass 和 gulp 成功编译了缩进语法吗?
我的 gulpfile.js
var gulp = require('gulp');var sass = require('gulp-sass');gulp.task('sass', function() {返回 gulp.src('./sites/all/themes/nsfvb/sass/screen.sass').pipe(萨斯({includePaths: require('node-neat').includePaths,errLogToConsole: 真})).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({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');//在终端中使用> gulp sass"运行.gulp.task('sass', function () {gulp.src('./sass/main.sass').pipe(sass({sourceComments: 'normal'})).pipe(gulp.dest('./css'));});如果您在使用此代码段时遇到问题,请查看以下引用和问题.
<块引用>使用此解决方法将导致 gulp 管道中早期文件内容的任何更改(例如早期插件)被丢弃 - JMM
https://github.com/dlmanning/gulp-sass/issues/158
Libsass 2.0 brought the indented syntax to libsass users, but so far I've been unable to make it work with node-sass and gulp-sass. I have all of the latest versions:
node-sass: 0.93
gulp-sass: 0.7.2
gulp: 3.8.2
This setup compiles .scss files and even .sass files using the bracket syntax but it will not compile the indented syntax. Has anyone successfully compiled the indented syntax with node-sass and 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']);
Error when running the default task
error: invalid top-level expression
If you want to use the indented syntax (.sass) as the top level file, use sass({indentedSyntax: true}).
sass({indentedSyntax: true})
Answer found here: https://github.com/dlmanning/gulp-sass/issues/55#issuecomment-50882250
With default settings compiling sass files doesn't work. However there is a workaround. If you pass sourceComments: 'normal' as parameter the compilation work. The reason for this is that there is a strange condition which change how file are handled: https://github.com/dlmanning/gulp-sass/blob/master/index.js#L23-L27
Code example found here: 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'));
});
If you run into issues using this snippet take a look at the following quote and issue.
Using this workaround will result in any changes to the file content from earlier in the gulp pipeline (e.g. earlier plugins) being discarded - JMM
https://github.com/dlmanning/gulp-sass/issues/158
这篇关于缩进的 Sass 语法不适用于 node-sass 和 gulp-sass的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
是否可以将标志传递给 Gulp 以使其以不同的方式Is it possible to pass a flag to Gulp to have it run tasks in different ways?(是否可以将标志传递给 Gulp 以使其以不同的方式运行任务
如何一个接一个地依次运行 Gulp 任务How to run Gulp tasks sequentially one after the other(如何一个接一个地依次运行 Gulp 任务)
由于 MIME 类型而未加载样式表Stylesheet not loaded because of MIME-type(由于 MIME 类型而未加载样式表)
CSS3 过渡(供应商前缀)立即使 Safari 崩溃CSS3 Transition ( Vendor Prefixes) crashes Safari immediately(CSS3 过渡(供应商前缀)立即使 Safari 崩溃)
@font-face 让 IE8 崩溃@font-face crashes IE8(@font-face 让 IE8 崩溃)
jquery按长度限制文本jquery limit text by length(jquery按长度限制文本)