【问题标题】:gulp-sass with Gulp 4.0 and gulp-cli 4.0 not piping css带有 Gulp 4.0 和 gulp-cli 4.0 的 gulp-sass 不是管道 css
【发布时间】:2016-11-04 19:51:38
【问题描述】:

我正在使用最新版本的 Node、Gulp 和 gulp-cli。我的 gulpfile.js 就是这样。尝试 gulp 来自学。

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


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

当我运行 gulp 时,我在目的地什么也得不到。没有错误被抛出。

我删除了到 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代码(再次,最新版本;)来调试..

任务运行时没有发现任何错误,即使是水管工也是如此。我在这里迷路了,非常感谢一些建议。

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

【问题讨论】:

  • 顺便说一句,尝试 catch 不会像你预期的那样工作,imo。

标签: javascript sass gulp gulp-sass


【解决方案1】:

_site.scss 重命名为site.scss

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

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

【讨论】:

  • 感谢 m8!真的:P
  • @VenkatRenukaPrasad 我可以想象你对这个问题的沮丧。 :P 很高兴我能帮上忙!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-19
相关资源
最近更新 更多