问题描述
鉴于我的 gulpfile.js 中的以下代码,每次我保存或更改文件时,任务都会运行两次而不是一次,这是为什么呢?我只想让它运行一次.
Given the following piece of code from my gulpfile.js, everytime I save or change a file, the task runs twice instead of one single time, why is that? I just want it to run one time.
var gulp = require('gulp');
gulp.task('default', function() {
gulp.watch('server/**/*.js', function(){
console.log('This runs twice everytime I change/save a javascript file located at server/**/*.js');
});
});
我对 grunt 和名为 grunt-contrib-watch 的插件也有同样的体验.
I have also experienced the same with grunt and the plugin called grunt-contrib-watch.
推荐答案
似乎这个问题的答案是使用的编辑器 Coda 2 的一个功能.根据这里的一些评论和多个编辑器的测试,似乎 Coda 2 保存了一个临时文件或类似文件,这会导致 gulp watch 函数运行两次.
Seems like the answer to this question is a feature of the editor that was used, Coda 2. Based on some of the comments here and testing with multiple editors, it seems like Coda 2 saves a temporary file or similar and that causes the gulp watch function to be run twice.
我在使用 Coda 2 时没有找到可行的解决方案,最终切换到 Sublime Text 3.
I have not found a viable solution to this when using Coda 2, ended up with switching to Sublime Text 3.
这篇关于Gulp.js,保存文件时监视任务运行两次的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!