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


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

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

    例如我们写一个variable.scss时,希望引入这个scss文件的index.scss list.scss都发生变化。可能还有很多很多。那我们应该怎么做呢

    还有如果我们希望html变化了就重新编译一下scss

    诸如此类,ok我们现在就开始着手解决问题。

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

    2. 由于我更加钟爱sass,我们现在回引入新的npm依赖,gulp-sass去编译我所写的sass文件,用法和gulp-less相同

    解决多个sass文件同时编译,可以用通配符*来表示所有文件

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

    会把对应的scss全部编译成scss,而且不会去编译对应的variable和mixin

    但是我们不想每次改变输入一次gulp,于是乎我们希望这些步骤可以自动完成的话,就需要用gulp的watch方法去监听文件变化了。

    我们的需求是监听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完成监听咯。我们的前端自动化大业又向前走进了一大步。啦啦啦

  • 相关阅读:
    百斯特
    C++
    转载
    转载+整理
    转载
    转载
    转载
    C++
    转载
    CodeForces
  • 原文地址:https://www.cnblogs.com/sowhite/p/6802891.html
Copyright © 2020-2023  润新知