今天继续说说gulp的watch,能够自己主动搞定非常多事情。不用每次都去敲命令了!
上次说到用gulp能够非常方便的进行css,js,html的压缩。而且能够对coffee和scss进行编译。
css,js。html一般在公布production时候压缩一次就能够,也就是敲一次gulp命令。可是coffee和scss这两个dev时候会不时修改的文件,假设每次修改完,都须要手动去敲gulp进行编译就有些麻烦了。
那么问题来了。
假设可以每次改完coffee和scss就能自己主动编译成js和css将是一件多么令人happy的一件事情!
Gulp不会让你失望,当然提供了解决方式。那就是watch。
watch事实上比較简单。就是一直监视某些文件是否变了。假设变了,那么进行一些操作。
吃个栗子。
gulp.task('watch', ['coffee'], function(){
gulp.watch('app/assets/coffee/*.coffee', function (event) {
gulp.src(event.path)
.pipe(coffee({bare: true}).on('error', gutil.log))
.pipe(gulp.dest('app/assets/javascripts'));
});
});
已上的代码是自己主动把coffee转js的作用。
意思是。创建一个task,名字叫watch(当然这个名字你随便起)。内容是先运行我自己前面创建的叫coffee的task。
然后进行watch全部的coffee文件。
假设coffee文件有变化,则针对变化的文件。进行一次compile。生成新的js到javascripts文件夹。
就是这么简单。就是这么任性,就是这么强大!