1.安装css
npm install --g gulp//全局安装 npm install --save-dev gulp//在项目中安装,node_modules npm install --save-dev gulp-uglify//安装gulp 插件
2.建立gulpfile.js(注意:文件名必须是gulpfile,不然命令行下的gulp指令如何知道执行哪个js文件呢?)node
var gulp = require('gulp'); gulp.task('default', function() { // place code for your default task here });
3.命令行执行gulp文件,$gulpnpm
gulp原理解析:数据流gulp
最简单的gulpfile.jsapi
// 导入 gulp/gulp-sass/gulp-autoprefixer 三个模块 var gulp = require('gulp'); var sass = require('gulp-sass'); var autoprefixer = require('gulp-autoprefixer'); // 使用 gulp.task() 方法注册一个任务 // 第一个参数是任务名称 // 第二个参数是任务的执行逻辑 gulp.task('styles', function() { return gulp.src('sass/demo.scss') .pipe(sass()) .pipe(autoprefixer()) .pipe(gulp.dest('css')); });
glup的5大函数数组
gulp.task(name, fn),注册一个 gulp 任务sass
gulp.run(...tasks),并行运行多个 gulp 任务函数
gulp.watch(glob, fn),实时监控内容,当 glob 内容变化时,执行 fnui
gulp.src(glob),glob 是目标文件的路径,返回一个可读的 stream插件
gulp.dest(gloc),glob 是输出路径,返回一个可写的 stream
api gulp.src('index.js'); gulp.src(['js/**/*.js', '!js/**/*.min.js']);//数组,制定多个文件
dest():dest方法将管道的输出写入文件,同时将这些输出继续输出,因此能够依次调用屡次dest方法,将输出写入多个目录。若是有目录不存在,将会被新建
gulp.src('./client/templates/*.jade') .pipe(jade()) .pipe(gulp.dest('./build/templates')) .pipe(minify()) .pipe(gulp.dest('./build/minified_templates')); /* *@param taskname 任务名称 *@param [] 任务依赖前置,必须执行完这个数组的任务,才能够执行任务 *@param fn 任务逻辑 */ gulp.task('taskname', [ taskDep1, taskDep2 ],fn): 命令行 gulp taskname,便可执行gulp任务 注意:gulp.task('default',fn),是默认执行任务,在命令行启动gulp,默认执行动做 /* *@param 检测文件路径 *@param 检测到文件变化,执行任务 */ gulp.watch('文件路径', [task]): gulp.task('watch', function() { gulp.watch('sass/demo.scss', ['styles']); });