易于使用
通过代码优于配置的策略,Gulp 让简单的任务简单,复杂的任务可管理。
构建快速
利用 Node.js 流的威力,你可以快速构建项目并减少频繁的 IO 操作。
插件高质
Gulp 严格的插件指南确保插件如你期望的那样简洁高质得工作。
易于学习
通过最少的 API,掌握 Gulp 毫不费力,构建工作尽在掌握:如同一系列流管道。
* 1.安装全局变量 * 命令:npm install --global gulp * 2.在项目中安装依赖 * 命令:npm install --save-dev gulp * 3.创建gulpfile文件 * 4.书写配置文件 * 5.配置默认任务 * 6.执行gulp
* * 语法: * 1.gulp.src:方法来读取你需要操作的文件 * 语法:gulp.src(globs[, options]) * 2.gulp.dest:方法是用来写文件的 * 语法:gulp.dest(path[,options]) * 3.gulp.task:方法用来定义任务 * 语法:gulp.task(name[, deps], fn) * 4.gulp.watch:用来监视文件的变化,当文件发生变化后,我们可以利用它来执行相应的任务,例如文件压缩等 * 语法:gulp.watch(glob[, opts], tasks) *
gulp常用插件 * (1):js文件压缩: * 使用gulp-uglify * 安装:npm install --save-dev gulp-uglify * (2):css文件压缩: * 使用gulp-minify-css * 安装:npm install --save-dev gulp-minify-css * (3):html文件压缩: * 使用gulp-minify-html * 安装:npm install --save-dev gulp-minify-html * (4):js代码检查: * 使用gulp-jshint * 安装:npm install –save-dev jshint gulp-jshint * (5):文件合并 * 使用gulp-concat * 安装:npm install --save-dev gulp-concat * (6):重命名 * 使用gulp-rename * 安装:npm install --save-dev gulp-rename * (7):less和sass的编译 * less使用gulp-less,安装:npm install --save-dev gulp-less * sass使用gulp-sass,安装:npm install --save-dev gulp-sass * (8):图片压缩 * 可以使用gulp-imagemin插件来压缩jpg、png、gif等图片。 * 安装:npm install --save-dev gulp-imagemin * (9):自动刷新 * 使用gulp-livereload插件 * 安装:npm install --save-dev gulp-livereload。
var gulp = require("gulp"); uglify = require("gulp-uglify"); minifyCss = require("gulp-minify-css"); minifyHtml = require("gulp-minify-html"); jsHint = require("gulp-jshint"); concat = require("gulp-concat"); rename = require("gulp-rename"); gulp.task("minify-js",function () { gulp.src("js/*.js") .pipe(uglify()) .pipe(gulp.dest("dist/js")); }); gulp.task("minify-js-app",function () { gulp.src("js/app/*.js") .pipe(uglify()) .pipe(gulp.dest("dist/js/app")); }); gulp.task("minifyCss",function () { gulp.src("css/*.css") .pipe(minifyCss()) .pipe(gulp.dest("dist/css")); }); gulp.task("minifyHtml",function () { gulp.src("*.html") .pipe(minifyHtml()) .pipe(gulp.dest("dist/")); }); //代码检查 gulp.task("jshint",function () { gulp.src("js/*.js") .pipe(jsHint()) .pipe(jsHint.reporter()); }); //合并 gulp.task('concat', function () { gulp.src('js/*.js') //要合并的文件 .pipe(concat('all.js')) // 合并匹配到的js文件并命名为 "all.js" .pipe(gulp.dest('dists/js')); }); // 合并、压缩、重命名js gulp.task('js', function() { return gulp.src('js/*.js') .pipe(concat('main.js')) .pipe(gulp.dest('dest/js')) .pipe(rename({ suffix: '.min' })) .pipe(uglify()) .pipe(gulp.dest('dests/')); }); gulp.task('compile-less', function () { gulp.src('less/*.less') .pipe(less()) .pipe(gulp.dest('dist/css')); }); // gulp.task('compile-sass', function () { // gulp.src('sass/*.sass') // .pipe(sass()) // .pipe(gulp.dest('dist/css')); // }); // gulp.task('minify-img', function () { // return gulp.src('images/*') // .pipe(imagemin({ // progressive: true, // use: [pngquant()] //使用pngquant来压缩png图片 // })) // .pipe(gulp.dest('dist/images')); // }); // 合并、压缩、重命名css gulp.task('css', function() { return gulp.src('css/*.css') .pipe(concat('main.css')) .pipe(gulp.dest('dest/css')) .pipe(rename({ suffix: '.min' })) .pipe(minifyCss()) .pipe(gulp.dest('dests/')); }); //下面是一个监听 gulp.task('jsjt', function() { gulp.src('js/*.js') .pipe(less()) .pipe(gulp.dest('dist/js')) .pipe(livereload()); }); gulp.task("default",function () { gulp.start("minify-js","minify-js-app","minifyCss","minifyHtml","concat","js","css"); // console.log("hello gulp"); });