玩转gulp之watch监听文件自动编译

博客移至 https://www.dodoblog.cn/blog?id=5befc928e0feb34495b57035 css

咱们在写页面的时候,用到sass less等css预处理器的时候,虽然写的很爽,可是有一个麻烦就是总是要不停的去编译文件html

例如咱们写一个variable.scss时,但愿引入这个scss文件的index.scss list.scss都发生变化。可能还有不少不少。那咱们应该怎么作呢前端

还有若是咱们但愿html变化了就从新编译一下scssnpm

 

诸如此类,ok咱们如今就开始着手解决问题。gulp

1. 咱们上次讲了编译less的方法,参见如何用gulp编译less,咱们会在这个的基础上开始讲解。sass

2. 因为我更加钟爱sass,咱们如今回引入新的npm依赖,gulp-sass去编译我所写的sass文件,用法和gulp-less相同less

 

解决多个sass文件同时编译,能够用通配符*来表示全部文件spa

gulp.task('sass',function(){
    gulp.src('./stylesheets/sass/*.scss') //*表示全部的scss文件
        .pipe(sass())
        .pipe(gulp.dest('./stylesheets/css'))
})

会把对应的scss所有编译成scss,并且不会去编译对应的variable和mixincode

 

可是咱们不想每次改变输入一次gulp,因而乎咱们但愿这些步骤能够自动完成的话,就须要用gulp的watch方法去监听文件变化了。htm

咱们的需求是监听sass文件夹下的全部文件,若是发生变化就立马执行sass任务。

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

因此咱们添加以上代码,**是指全部深度的文件夹,包括varible和mixin

 

运行gulp watch命令实现监听

同时若是咱们也能够添加更多的监听命令

gulp.task('watch',function(){
    gulp.watch('./stylesheets/**/*.scss',['sass']);
    gulp.watch('./index.html',['sass']);
})

例如监听index.html页面什么的,也去更新css文件。

我在咱们就能够运用gulp完成监听咯。咱们的前端自动化大业又向前走进了一大步。啦啦啦

相关文章
相关标签/搜索