Gulp.js介绍
来源:互联网 发布:粉红女郎 知乎 编辑:程序博客网 时间:2024/05/19 14:16
简介
Gulp是一个nodejs的streaming构建工具。
优势:
1. 内置文件监听
2. Gulp大部分的插件只完成一件事。
3. Gulp使用js语言,易读,易修改,扩展性好
4. Gulp速度很快,其通过流的形式,让数据在不同的Gulp插件之间经过,而文件的写操作只会出现在task的最后。
大约有40%的web前端开发者使用Gulp。
具体来说,Gulp不能做任何事,你需要做的是:
1、安装Gulp插件
2、利用安装的插件来写task
PS.翻译了半天,才发现有人翻译好了。。
Gulp.js介绍
使用Gulp需要新建gulpfile.js,就像grunt需要gruntfile.js一样。
在根目录新建gulpfile.js
Gulp只有五个方法,命令之间的衔接用pipe
task,run,watch,src,和dest
gulp.task(name, function)设置任务
gulp.run(task)执行任务
gulp.watch(glob, function)当glob内容发生改变时,执行fn
gulp.src(glob)返回一个可读的stream
gulp.dest(glob)返回一个可写的stream
task
var gulp = require('gulp');var jasmine = require('gulp-jasmine');gulp.task('default', function () { return gulp.src('spec/google.spec.js') .pipe(jasmine());});
watch
gulp.task('watch',function(){ gulp.watch('./stylesheets/**/*.scss',['sass']); gulp.watch('./index.html',['sass']);})
run
gulp.task('default', function(){ gulp.run('lint', 'sass', 'scripts'); gulp.watch('./js/*.js', function(){ gulp.run('lint', 'sass', 'scripts'); });});
这时,我们创建了一个基于其他任务的default任务。使用.run()方法关联和运行我们上面定义的任务,使用.watch()方法去监听指定目录的文件变化,当有文件变化时,会运行回调定义的其他任务。
现在,回到命令行,可以直接运行gulp任务了。
直接运行gulp相当于执行gulp default,也可以通过gulp sass执行特定的任务
src
上边已经有例子了,获取文件流,相当于java里的FileInputStream -r
dest
返回可写的流。顾名思义,相当于java里的FileInputStream -w,把文件写入到哪。比如下面的sass插件里就有。
Gulp有比较多的插件,以下是几个插件的介绍。
Gulp插件
gulp-jshint
var gulp = require("gulp"); var jshint = require("gulp-jshint"); gulp.task("lint",function(){ gulp.src("src/js/*.js") .pipe(jshint()) .pipe(jshint.reporter("default")) });
gulp.src()找到js文件后,通过管道操作pipe,把文件传递给jshint()来检查代码。Link任务会检查js/目录下得js文件有没有报错或警告。
gulp-sass
gulp.task('sass', function() { gulp.src('./scss/*.scss') .pipe(sass()) .pipe(gulp.dest('./css'));});
Sass任务会编译scss/目录下的scss文件,并把编译完成的css文件保存到/css目录中。
gulp-concat
gulp.task('scripts', function() { gulp.src('./js/*.js') .pipe(concat('all.js')) .pipe(gulp.dest('./dist')) .pipe(rename('all.min.js')) .pipe(uglify()) .pipe(gulp.dest('./dist'));});
scripts任务会合并js/目录下得所有得js文件并输出到dist/目录,然后Gulp会重命名、压缩合并的文件,也输出到dist/目录。
Gulp有用的其他插件
gulp-load-plugins – 在无需 require 声明的情况下加载所有Gulp插件对应的模块;
gulp-preprocess – 一个简单的 HTML 和 JavaScript 预处理器;
gulp-less – Less CSS预处理器 插件;
gulp-stylus – Stylus CSS预处理器 插件;
gulp-sequence – 按照特定顺序执行一系列Gulp任务;
gulp-plumber – 错误处理机制,以防Gulp在发生出错时终止执行;
gulp-size – 显示文件大小并保存;
gulp-nodemon – 使用 nodemon 在发生改动时自动重启 Node.js 应用;
gulp-util – 包含日志和代码高亮在内的实用功能;
附:你真的需要Grunt/gulp吗?
使用gulp构建nodejs
好用的HTTP模块SeperAgent
玩转gulp之gulp-watch监听文件自动编译
- Gulp.js介绍
- Gulp介绍
- gulp介绍
- Gulp.js
- gulp-:gulp插件/gulp模块介绍
- Gulp简单介绍
- gulp常用插件介绍
- gulp的API介绍
- Gulp简单入门介绍
- Gulp及其插件介绍
- Gulp.js深入讲解
- gulp配置文件gulpfile.js
- gulp压缩js代码
- gulp-uglify《JS压缩》
- gulp压缩js!!
- gulp.js 核心代码
- 【gulp.js】Gulp中的增量编译
- gulp-uglify《JS压缩》----gulp系列(四)
- (CodeForces
- 在ubuntu上搭建caffe环境
- CGAL 4.10 官方文档 软件包概述 ——算术与代数类
- Pandas 使用教程 4
- 【oracle】使用sys进行的操作
- Gulp.js介绍
- BUG汇总 1
- C#运算符的重载
- Android 手机卫士开篇
- 算法提高 ADV-136 大数加法
- C#进阶 11 if-else 结构
- Pandas 使用教程 5
- 第2周项目2-程序的多文件组织
- 《小甲鱼—零基础入门学习python》学习过程(一)