2015-09-07 26 views
0

我是新来的吞噬者,我试图在移动新文件之前观看玉石和更少的文件并清理构建目录。不知怎的,这个任务第一次工作,我改变一个文件,然后它不会继续观看。 我发现了许多不同的解决方案,但他们都没有为我工作。 这里是我的手表任务:gulp.watch任务在第一次更改后崩溃

gulp.task('watch', function() { 
    gulp.watch(config.lessDir + '/**.less', ['css']); 
    gulp.watch(config.jadeDir + '/**.jade', ['jade']); 
}); 

gulp.task('jade', function() { 
    del.sync(['build/**.html']); 

    return gulp.src(config.jadeDir + '/**.jade') 
    .pipe(jade({ pretty: true })) 
    .pipe(gulp.dest('./build')); 
}); 

gulp.task('css', function() { 
    del.sync(['build/css/**.*']); 

    return gulp.src(config.lessDir + '/**.less') 
    .pipe(less()) 
    .pipe(gulp.dest('./build/css')) 
    .pipe(minifyCSS()) 
    .pipe(extReplace('.min.css')) 
    .pipe(gulp.dest('./build/css')); 
}); 

随着管道工我得到的错误“undefined是不是一个函数”。

编辑:看起来像德尔不是问题,而是处理玉/少文件的管道。

+0

注意:如果'del'是[this](https://www.npmjs.com/package/del),那么'del.sync'不接受回调。 'cb'可能永远不会被调用。现在,这*可能会混淆Gulp,当任务函数收到一个参数时,它希望调用这个参数来知道任务完成。实际上,我不知道哪个优先确定任务完成,回调参数或返回的流,但如果不容易出错,使用两者至少会造成混淆。 –

+0

谢谢。我已经改变了。但我的问题仍然存在。 –

+0

你可以删除del部分,看看问题是否仍然存在? – harishr

回答

1

对于每个人都有相同的问题:如果您使用相对路径gulp.watch只检测新的或删除的文件。例如:使用“less”而不是“./less”。现在一切都应该像魅力一样工作。

+0

欢迎来到堆栈溢出!您可以(也应该)将自己的答案标记为正确,以使问题显示为已解决,而不是仍在等待答案。 –