【问题标题】:gulp-watch works only on initial rungulp-watch 仅在初始运行时有效
【发布时间】:2014-06-28 07:45:20
【问题描述】:

我该怎么做?

  1. 运行gulp(正在处理SCSS文件,我得到一个CSS文件)
  2. 我再次更改任何 SCSS 文件

预期:

  • 1. 中的 CSS 文件已根据 2 中的更改进行更新。

会发生什么?

  • 1. 中的 CSS 文件未更改

命令行输出:

$ gulp
[09:24:28] Using gulpfile c:\Users\User\_dev\github\project\gulpfile.js
[09:24:28] Starting 'sass'...
[09:24:28] Finished 'sass' after 98 ms
[09:24:28] Starting 'default'...
[09:24:28] Finished 'default' after 7.31 μs
[09:24:35] sass-watch saw _base.scss was changed
[09:25:39] sass-watch saw _base.scss was changed

gulpfile.js:

gulp.task('sass', function() {
    watch({ glob: 'css/**/*.{scss,sass}', name: 'sass-watch'})
        .pipe(plumber())
        .pipe(sass())
        .pipe(gulp.dest('css'))
});

gulp.task('default', ['sass']);

注意事项:

源文件的管道输入方式并不重要。使用gulp.src()时结果保持不变

【问题讨论】:

    标签: gulp gulp-watch


    【解决方案1】:

    我认为你的 sass 任务写得不正确。

    试试这样的:

    var gulp = require('gulp');
    var sass = require('gulp-sass')
    
    gulp.task('sass', function () {
        gulp.src('PATH-TO-SASS-FILES/*.scss')
            .pipe(sass())
            .pipe(gulp.dest('./css'));
    });
    

    【讨论】:

    • 请阅读gulp-watch 插件及其语法here。我尝试使用.src(),我尝试仅使用.sass()。使用插件gulp-watch或使用内置gulp.watch时,问题完全相同。
    猜你喜欢
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    • 2019-06-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    相关资源
    最近更新 更多