gulp 安装 使用

1.首先要安装 node.js 有个环境先:下载地址 https://nodejs.org/en  

 安装是否成功: node -v   -->显示个版本号就成功了,目前的node 会自己配置好环境。-npm 包管理,安装node 时候已经自动安装上去了

2.安装gulp 

  npm install -g gulp  #全局安装

  npm install gulp --save-dev # 局部安装 ( 这里做个解释就是说:你在你的项目里安装gulp )

gulp基础语法

gulp通过gulpfile文件来完成相关任务,因此项目中必须包含gulpfile.js

gulp有五个方法:src、dest、task、run、watch
src和dest:指定源文件和处理后文件的路径
watch:用来监听文件的变化
task:指定任务
run:执行任务

编写gulp任务

/**
 * 组件安装
 * npm install gulp-ruby-sass gulp-minify-css gulp-jshint gulp-uglify gulp-rename gulp-concat gulp-clean gulp-livereload --save-dev
 */

// 引入 gulp及组件
var gulp    = require('gulp'),                 //基础库
    imagemin = require('gulp-imagemin'),       //图片压缩
    sass = require('gulp-ruby-sass'),          //sass
    minifycss = require('gulp-minify-css'),    //css压缩
    jshint = require('gulp-jshint'),           //js检查
    uglify  = require('gulp-uglify'),          //js压缩
    rename = require('gulp-rename'),           //重命名
    concat  = require('gulp-concat'),          //合并文件
    clean = require('gulp-clean'),             //清空文件夹
    tinylr = require('tiny-lr'),               //livereload
    server = tinylr(),
    port 35729,
    livereload = require('gulp-livereload');   //livereload

// HTML处理
gulp.task('html'function({
    var htmlSrc './src/*.html',
        htmlDst './dist/';

    gulp.src(htmlSrc)
        .pipe(livereload(server))
        .pipe(gulp.dest(htmlDst))
});

// 样式处理
gulp.task('css'function ({
    var cssSrc './src/scss/*.scss',
        cssDst './dist/css';

    gulp.src(cssSrc)
        .pipe(sass({ style'expanded'}))
        .pipe(gulp.dest(cssDst))
        .pipe(rename({ suffix'.min' }))
        .pipe(minifycss())
        .pipe(livereload(server))
        .pipe(gulp.dest(cssDst));
});

// 图片处理
gulp.task('images'function(){
    var imgSrc './src/images/**/*',
        imgDst './dist/images';
    gulp.src(imgSrc)
        .pipe(imagemin())
        .pipe(livereload(server))
        .pipe(gulp.dest(imgDst));
})

// js处理
gulp.task('js'function ({
    var jsSrc './src/js/*.js',
        jsDst ='./dist/js';

    gulp.src(jsSrc)
        .pipe(jshint('.jshintrc'))
        .pipe(jshint.reporter('default'))
        .pipe(concat('main.js'))
        .pipe(gulp.dest(jsDst))
        .pipe(rename({ suffix'.min' }))
        .pipe(uglify())
        .pipe(livereload(server))
        .pipe(gulp.dest(jsDst));
});

// 清空图片、样式、js
gulp.task('clean'function({
    gulp.src(['./dist/css''./dist/js''./dist/images']{readfalse})
        .pipe(clean());
});

// 默认任务 清空图片、样式、js并重建 运行语句 gulp
gulp.task('default'['clean']function(){
    gulp.start('html','css','images','js');
});

// 监听任务 运行语句 gulp watch
gulp.task('watch',function(){

    server.listen(portfunction(err){
        if (err{
            return console.log(err);
        }

        // 监听html
        gulp.watch('./src/*.html'function(event){
            gulp.run('html');
        })

        // 监听css
        gulp.watch('./src/scss/*.scss'function(){
            gulp.run('css');
        });

        // 监听images
        gulp.watch('./src/images/**/*'function(){
            gulp.run('images');
        });

        // 监听js
        gulp.watch('./src/js/*.js'function(){
            gulp.run('js');
        });

    });
});

 

posted @ 2016-04-06 20:43  Alex_zeng  阅读(196)  评论(0编辑  收藏  举报