与Gulp 4.0和gulp-cli 4.0 gulp-sass没有管道css

时间:2016-07-02 15:29:39

标签: javascript sass gulp gulp-sass

我正在使用最新版本的Node,Gulp和gulp-cli。我的gulpfile.js就是这样的。试着喝一口自学。

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


gulp.task('default', function(){
    return gulp.src("./styles/_site.scss")
        .pipe(sass())
        .pipe(gulp.dest("./public"));
});

当我吞咽的时候,我在目的地什么都没得到。不会抛出任何错误。

我将管道移除到sass插件并运行任务,然后只需将文件复制到目的地,然后就完成了。

然后我在流上使用了gulp-plumber。

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


gulp.task('default', function(){
    try {

        var bla = sass();

        var blah =  gulp.src("./styles/_site.scss")
            .pipe(plumber({
                handleError: function (err) {
                    console.log(err);
                    this.emit('end');
                }
            }))
            .pipe(sass())
            .pipe(gulp.dest("./public"));
    } catch(ex) {
        console.log(ex);
        var blah =  gulp.src("./styles/_site.scss")
                        .pipe(gulp.dest("./public"));
    } finally {
        return blah;
    }
});

我使用vs代码(再次,最新版本;)来调试..

This I debugged to look at sass()

即使是水管工也没有抓到任何错误。我迷失在这里,非常感谢一些建议。

PS:我尝试了gulp-less,看看它是否可以从* .less转换为* .css而且确实如此。那里没有问题。

1 个答案:

答案 0 :(得分:2)

_site.scss重命名为site.scss

gulp-sass quietly skips all files starting with an underscore。这是因为作为惯例,partials(即您要导入但不应编译为单独CSS输出的文件)must have their name starting with an underscore

由于您打算为此输入SCSS文件输出CSS文件,因此将其标记为部分文件,因此您不应该使用前导下划线。