Gulp.js 是一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务。在这里介绍了gulp的入门,插件和gulpfile.js配置文件。
入门
全局安装
gulp
$ npm install -g gulp
新建一个文件夹作为项目,进入该文件夹,初始化
$ mkdir example $ npm init
安装开发依赖(
devDependences
)$ npm install --save-dev gulp
在项目根目录新建
gulpfile.js
文件$ touch gulpfile.js
编辑
gulpfile.js
文件12345var gulp = require('gulp');gulp.task('default', function () {//默认任务代码});命令行运行gulp,即可运行默认任务
$ gulp
api介绍
这里只列出api常用用法,了解更多请查阅官网http://www.gulpjs.com.cn/docs/api/
gulp.src(globs[, options])
输出符合匹配的文件并返回一个
stream
,可pipe
到其他插件golbs(类型:
String
或Array
)String: ‘src/js/*.js’
Array: [‘src/js/*.js’, ‘src/css/*.css’]
gulp.dest(path[, options])
将
pipe
进来的数据转存为指定文件夹下的文件,若指定文件夹不存在,则自动创建该文件夹path(类型:
String
或Function
)String: ‘dist/js’
Function: 在函数中返回相应路径
gulp.task(name[, deps], fn)
定义一个任务
123gulp.task('something', functio () {doSomething();});name(类型:
String
)任务的名字,可在命令行中通过
name
运行任务,$ gulp name
deps(类型:Array)
一个包含任务列表的数组,这些任务会在当前任务运行之前完成
fn(类型:
Function
)该任务要执行的内容
gulp.watch(glob[, opts], tasks) 或 gulp.watch(globs[, opts, cb])
文件监视,当指定匹配文件发生变化时,执行tasks或函数cb
glob(类型:
String
或Array
)tasks(类型:
String
或Array
)文件变动后执行之前定义好的任务
cb(类型:
Function
)传入一个记录文件变动的
event
对象,event.type
记录变动类型:added
,changed
,deleted
;event.path
记录变动文件的路径
gulp插件介绍
gulp-less/gulp-sass
预编译less/sass文件为css文件
安装:
$ npm install --save-dev gulp-less
gulp-autoprefixer
设置浏览器版本,css文件自动添加浏览器前缀
安装:
$ npm install --save-dev gulp-autoprefixer
gulp-minify-css
压缩css文件
安装:
$ npm install --save-dev gulp-minify-css
gulp-rename
重命名要输出的文件,如将.css重命名为.min.css
安装:
$ npm install --save-dev gulp-rename
vinyl-buffer
将vinyl对象内容中的stream转换为buffer
安装:
$ npm install --save-dev vinyl-buffer
vinyl-source-stream
将Browserify的bundle()的输出转换为Gulp可用的vinyl流
安装:
$ npm install --save-dev vinyl-source-stream
gulp-sourcemaps
编写内联sourcemaps
安装:
$ npm install --save-dev gulp-sourcemaps
browserify
可以让你使用类似于 node 的 require() 的方式来组织浏览器端的 Javascript 代码,在这里用来管理依赖
安装:
$ npm install --save-dev browserify
babelify
将ES6转换成ES5
安装:
$ npm install --save-dev babelify
gulp-uglify
压缩 JavaScript 文件
安装:
$ npm install --save-dev gulp-uglify
gulp-imagemin
压缩 png,jpeg,gif和svg图片资源
安装:
$ npm install --save-dev gulp-imagemin
gulp-cache
图片缓存,只有图片替换了才压缩
安装:
$ npm install --save-dev gulp-cache
gulp-clean
移除文件或文件夹
安装:
$ npm install --save-dev gulp-clean
gulp-util
包含gulp的一些实用功能,在这里用来打印编译错误
安装:
$ npm install --save-dev gulp-util
gulp-notify
当文件变更时提醒
安装:
$ npm install gulp-notify
gulp-connect
gulp中用来运行服务器的插件,内含LiveReload,自动刷新浏览器
安装:
$ npm install --save-dev gulp-connect
gulpfile.js文件配置
- 内含 ES6 转 ES5
|
|
- 不含 ES6 的 js 文件任务
|
|