【问题标题】:Gulp only watches main scss and not partialsGulp 只看主要的 scss 而不是部分
【发布时间】:2019-02-21 16:25:08
【问题描述】:

我在设置 gulp 任务以自动监视我的 scss 更改时遇到问题。我正在创建一个快速应用程序,我有一个这样的文件夹:

首先我在终端 gulp watch 中运行我的 gulp 任务。基本上,当我添加另一个 css 条件(如 body {height: 25%;})并保存我的部分时,它不会将其转换为 css。它仅适用于 main.scss 文件。但对于 _(部分 scss)则不然。

这是我的 gulpfile.js

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


gulp.task('sass', function () {
    return gulp.src('public/sass/**/*.scss')
        .pipe(sass({ outputStyle: 'compressed' })) // Using gulp-sass
        .pipe(gulp.dest('public/stylesheets'))
});

gulp.task('watch', function () {
    gulp.watch('public/sass/**/*.scss', gulp.parallel('sass', function (done) {
        // do more stuff
        done();
    }))
})

我尝试更改像 *.scss**/*.scss*.+(scss|sass) 这样的球体,但它不起作用。

请帮忙

【问题讨论】:

  • 我假设您的所有部分都导入到 main.scss 中?您是说当您对其中一个部分进行更改时不会触发“sass”任务?根据定义,在修改导入的部分时,除了对 main.scss 的更改之外,不会有任何输出。您的代码没有任何问题,但我肯定会将“监视”gulp.parallel 更改为 gulp.series。那里的系列要好得多。
  • 好吧,让我试试系列。
  • 什么鬼!现在可以了!谢谢你!

标签: javascript gulp gulp-sass


【解决方案1】:

您的代码对我来说看起来不错。你有没有像这样导入所有的部分?

main.scss

@import 'auth';
@import 'blog-show';

/* more imports ... */

【讨论】:

  • 是的,我在 main.scss 中导入了它。此外,当我在终端sass public/sass:public/stylsheets --watch --style compressed 中像这样在 sass 上使用它时,它可以工作并且所有部分都被观看。但在 gulp 中,它不起作用。
  • 我的问题解决了。谢谢你。正如@Mark 所说,我将.parallel 更改为.series
  • 啊好的,很好。感谢您的反馈
猜你喜欢
  • 2015-09-14
  • 1970-01-01
  • 2016-03-08
  • 2017-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-18
相关资源
最近更新 更多