【问题标题】:Gulp fails to update css file during gulp.watchGulp 在 gulp.watch 期间无法更新 css 文件
【发布时间】:2014-07-10 15:56:09
【问题描述】:

我有一个奇怪的问题,我无法弄清楚关于 gulp 的问题。

我有一个 gulp-sass 任务。当我更改任何 .scss 文件时,我希望它重新编译我的 sass 文件。很简单。

这是我的代码

gulp 任务

gulp.task('sass', function(){
  gulp.src('app/styles/app.scss')
    .pipe(sass({
        includePaths: require('node-bourbon').includePaths
    }))
    .pipe(gulp.dest('app/assets'));
});

gulp-watch

gulp.task('watch', function(){
   gulp.watch('app/styles/**/*.scss', ['sass']);

});

问题是。当我运行 gulp 时,一切正常。如果我编辑 .scss 文件,它会再次运行该任务。但是,更改不会反映在呈现的 .css 文件中。

曲线球是如果我按 ctrl+c 停止 gulp.watch 循环,那么更改会反映在渲染的 .css 文件中

我想知道是什么导致了这种情况发生。

有什么想法吗?

【问题讨论】:

  • 我没有看到您在使用任务时描述的行为,这让我认为问题出在环境或 gulpfile 中的其他地方。您能否发布出现问题的最小完整gulpfile.js

标签: gulp


【解决方案1】:

我遇到了这个问题,为我解决的问题是我在终端的错误目录中。一旦我 cd'd 到包含 gulp 文件的目录,一切都很好,并且检测到了更改。

【讨论】:

  • 这么简单的事情却很难追踪。
【解决方案2】:

我在使用 PHPStorm 时遇到了这个问题。这是我的第一个 gulpfile,我只是在试验虚拟 html、js 和 css,并查看 IDE 中生成的代码。观看活动后我的代码从未更新!

最后,我实际上在浏览器中加载了网站...

当您在浏览器中查看时,文件正在更新,但由于某种原因,IDE 未对它们进行索引。

【讨论】:

    【解决方案3】:

    回调必须是函数,而不是任务名称数组。试试:

    gulp.task('watch', function(){
      watch('js/*/.js', function() {
        gulp.start('scripts');
      });
    });
    

    你需要检查你的源目录或者你需要更新你的依赖。见相关讨论

    也请检查此线程:https://github.com/floatdrop/gulp-watch/issues/214#issuecomment-171282193

    【讨论】:

      猜你喜欢
      • 2015-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-27
      相关资源
      最近更新 更多