玩转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完成监听咯。我们的前端自动化大业又向前走进了一大步。啦啦啦
玩转gulp之watch监听文件自动编译的更多相关文章
- gulp之sass 监听文件,自动编译
gulpfile.js文件如下: var gulp = require('gulp'); var sass = require('gulp-sass'); gulp.task('default', f ...
- gulp监听文件变化,并拷贝到指定目录
暂时不支持目录修改.创建.删除var gulp = require('gulp'); var fs = require('fs'); var path = require('path'); var l ...
- gulp监听文件变化,并拷贝到指定目录(转)---参考记录
###暂时不支持目录修改.创建.删除.var gulp = require('gulp'); var fs = require('fs'); var path = require('path'); v ...
- 如何使用NodeJs来监听文件变化
1.前言 在我们调试修改代码的时候,每修改一次代码,哪怕只是很小的修改,我们都需要手动重新build文件,然后再运行代码,看修改的效果,这样的效率特别低,对于开发者来说简直不能忍. 2.构建自动编译工 ...
- c# 监听文件夹动作
static FileSystemWatcher watcher = new FileSystemWatcher(); /// <summary> /// 初始化监听 ...
- 【Oracle】环境变量与监听文件
一.环境变量的及其含义: 数据库主目录 ORACLE_HOME=D:\app\Administrator\product\11.2.0\dbhome_1 监听文件所在目录 TNS_ADMIN=D:\a ...
- 利用Node的chokidar 监听文件改变的文件。
最近维护一个项目.每次改完东西,都要上传到服务器.然后有时候就忘记一些东西,于是就想有没有可以方法能监听文件的改变.然后我再利用程序把更改的文件一键上传到服务器. 于是就找到了nodejs 的chok ...
- SpringMVC 监听文件上传进度
Spring MVC 监听文件上传进度 具体实现分三个步骤: 接管CommonsMultipartResolver,重写针对文件上传的请求. 在第一步中写入监听,以获取上传进度. 修改上传部分的配置文 ...
- node.js监听文件变化
前言 随着前端技术的飞速发展,前端开发也从原始的刀耕火种,向着工程化效率化的方向发展.在各种开发框架之外,打包编译等技术也是层出不穷,开发体验也是越来越好.例如HMR,让我们的更新可以即时可见,告别了 ...
随机推荐
- SQL 空值
SQL NULL Values(空值) 什么是SQL NULL值? SQL 中, NULL 用于表示缺失的值.数据表中的 NULL 值表示该值所处的字段为空. 具有NULL值的字段是没有值的字段. 如 ...
- 编码格式分类: 前后端传递数据的编码格式contentType
urlencoded:form表单和ajax提交数据的默认编码格式 form-data:传文件 application/json:json格式数据 >>> 前后端分离 urlenco ...
- 【LeetCode 10】正则表达式匹配
题目链接 [题解] 看到这个题解 写的代码. 就是加个备忘录法.优化一下暴力的做法. 匹配的时候如果遇到号的话,就两种可能.不再考虑它前面一个字符了. 跳过这个或者.或者继续用前面那个字符匹配. 即d ...
- 【SQL】语句/函数汇总
1.CHARINDEX(短字符A,长字符B) 说明:返回A在B的位置,从1开始,若B中不存在A,则为0 例如: SELECT CHARINDEX('aaaa','abaaaacded') ----- ...
- 9.3.1 The assign and deassign procedural statements
IEEE Std 1364™-2001, IEEE Standard Verilog® Hardware Description Language The assign procedural cont ...
- 前端(二十二)—— vue组件:局部组件、全局组件、父组件数据传到子组件、子组件数据传到父组件、父子组件实现todoList
Vue组件 一.组件介绍 每一个组件都是一个vue实例 每个组件均具有自身的模板template,根组件的模板就是挂载点,根组件也可以显式书写模板,会替换掉挂载点 每个组件模板只能拥有一个根标签 子组 ...
- 面向对象(三)——组合、多态、封装、property装饰器
组合.多态.封装.property装饰器 一.组合 1.什么是组合 组合指的是某一个对象拥有一个属性,该属性的值是另外一个类的对象 class Foo(): pass class Bar(): pas ...
- 如何调用DLL中的导出类
之前在网上一直查不到关于把类打包成dll文件的程序,今天自己写了个测试程序,供大家参考 一.生成类的dll文件 1.我是在vs2008上测试的,建立工程,在选择建立何种类型的工程的时候,勾上appli ...
- 最长递增子序列nlogn的做法
费了好大劲写完的 用线段树维护的 nlogn的做法再看了一下 大神们写的 nlogn 额差的好远我写的又多又慢 大神们写的又少又快时间 空间 代码量 哪个都赶不上大佬们的代码 //这是我写的 ...
- 代码托管平台--GitHub 使用小结
一.GitHub介绍 GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管.在GitHub,用户可以十分轻易地找到海量的开源代码. 很多IT行业的人到求职的 ...