【问题标题】:gulp doesn't watch my subdirectoriesgulp 不看我的子目录
【发布时间】:2018-02-21 21:08:43
【问题描述】:

我正在尝试设置 gulp 来查看我所有的 sass 文件,但我的子目录有问题。

这是我在 scss 文件夹中的文件结构:
默认.scss
-基地
-组件

我的 gulpfile 是这样设置的:

const SCSS_SRC  = './src/assets/scss/**/*.scss';
const SCSS_DEST = './src/assets/css';

gulp.task('sass', function () {
    return gulp.src(SCSS_SRC)
    .pipe(sass().on('error', sass.logError))
    .pipe(minifyCSS())
    .pipe(rename({ suffix: '.min' }))
    .pipe(changed(SCSS_DEST))
    .pipe(gulp.dest(SCSS_DEST))
});

gulp.task('default', function () {
    gulp.watch(SCSS_SRC, ['sass']);
});

当我第一次运行 gulp 时,一切都正常编译,但是如果我在子目录中的 sass 文件中进行更改,它们不会被编译。
如果我更改默认样式,子目录中的文件也会被编译。但我不想每次更新其他文件时都必须更新默认文件。

这是我第一次使用 gulp,所以如果我遗漏了一些明显的东西,我很抱歉。

【问题讨论】:

  • 我会移除更改后的管道,看看是否有帮助 - 无论如何,它并没有做太多。
  • 谢谢@Mark,马上解决了!
  • 我会给出答案 - 这是 gulp-changed 的​​非标准用法/位置。

标签: sass gulp gulp-watch


【解决方案1】:

我建议简单地删除 pipe(changed()) 调用,因为更改为通常用于在 gulp.src 之后立即过滤流。除非你有一个庞大的项目,否则我认为它在 gulp.dest 之前不会很有用。试试看是否有帮助是一件容易的事。

【讨论】:

    猜你喜欢
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多