gulp入门(3)
来源:互联网 发布:大数据时代杂志 编辑:程序博客网 时间:2024/06/07 10:34
gulp 借鉴了 Unix 操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入
一、输入流
获取当前文件流存储于管道
gulp.src(globs[, options])
globs:需要处理的源文件匹配符路径。
- 使用具体路径
获取 js 目录下 app.js 文件
gulp.src("js/app.js")
- 使用通配符
通配符路径匹配规则:
* 组合使用
获取 less 目录下的所有 .less 文件,但是排除 test.less 文件
gulp.src(['less/**/*.less', '!less/test.less']);
options:有三个属性可以设置 buffer、read、base
二、输出流
输出文件流至指定路径(流可以从管道中获取),如果文件夹不存在,将会自动创建。
gulp.dest(path[, options])
path:文件输出目录,也可以传递一个函数,在函数中返回一个路径。
options:有两个属性可以设置 cwd、mode
例:将 src/js 目录下所有的 js 文件全部复制至 build/js 目录
gulp.src("./src/js/*.js") .pipe(gulp.dest("./build/js"))
假设,src/asset/js/ 目录下存放项目的 js 文件,现在进行项目打包,需要将所有的 js 文件移动至 build/asset/js 目录下,那么应该怎么实现
以 src/asset/js/common/app.js 文件为例
第一步:获取指定目录下所有文件
gulp.src("src/asset/js/**/*.js")
第二步:输出至指定目录
输出目录该写什么?build?build/asset?build/asset/js?
gulp.dest("build") // 写入 'build/common/app.js'gulp.dest("build/asset") // 写入 'build/asset/common/app.js'gulp.dest("build/asset/js") // 写入 'build/asset/js/common/app.js'
可以看出,最终的输出路径,是 dest 方法定义的输出路径 + src 方法匹配路径。其实这都是 src 方法中的 option.base 属性的作用。
gulp.src('src/asset/js/**/*.js') // 获取文件流,并且设置 base 为 src/ex2,匹配路径为 common/app.js .pipe(gulp.dest("build")); // 写入 'build/js/app.js'gulp.src('src/asset/js/**/*.js', {base: 'src'}) // 获取文件流,并且设置 base 为 src,匹配路径为 asset/js/common/app.js .pipe(gulp.dest("build")); // 写入 'build/ex2/js/app.js'
三、监听器
监视文件,并且可以在文件发生改动时做一些事情
gulp.watch(glob[, opts], tasks);
或者
gulp.watch(glob[, opts, cb]);
例1:监视 src/js 目录下所有的 js 文件,如果发生改动,则调用 js 任务,自动将文件复制至 build 目录下
gulp.watch('src/js/**/*.js', ['js']);
最后提供一下综合示例
源码目录:src,其中,src/asset/js 目录存放 js 文件,
输出目录:build
将源码目录中的所有 js 文件打包至输出目录,并且当有 js 文件发生变更时,执行自动打包动作
var gulp = require('gulp');gulp.task('js', function() { gulp.src('src/asset/js/**/*.js', {base: "src"}) .pipe(gulp.dest("build"));})gulp.task('default', ['js'], function() { gulp.watch('src/asset/js/**/*.js', ['js']);})
- gulp入门(3)
- gulp入门(3)- gulp-minify-css
- gulp开发:gulp入门
- gulp入门~
- Gulp入门
- Gulp入门
- gulp入门
- gulp入门
- gulp入门
- gulp 入门
- gulp 入门
- gulp入门
- gulp入门
- gulp入门
- gulp入门
- gulp入门
- gulp入门
- Gulp入门
- hadoop 伪分布式安装
- C语言位运算符
- 爬虫应用-bloomfilter-URL去重
- 史上最全的iOS各种设备信息获取总结
- CentOS7安装与配置Zabbix
- gulp入门(3)
- python帮助和变量强制转换
- 10.22作业及总结
- 8、javaScript standard style eslint语法规范
- Ubuntu12.04 关闭开机图形界面
- 10.19
- 链路层
- 基于kubernetes和SpringCloud微服务构建方案
- 购物车+路由