gulp-基本功能总汇

研究了三天的gulp,今天做一个结束吧。

本次包含的功能有:

  • html压缩
  • 图片压缩
  • css压缩
  • js检测
  • js压缩
  • 文件合并
  • 文件更名
  • 提示信息
  • 编译less
  • 创建服务器-浏览器实时刷新

因为我安装的是马云爸爸提供的cnpm所以,我的cmd命令都是cnpm开始的。

cnpm install gulp-htmlmin gulp-imagemin imagemin-pngcrush gulp-jshint gulp-minify-css gulp-uglify gulp-concat gulp-rename gulp-notify gulp-less gulp-connect --save-dev

//初始化工具
var gulp = require('gulp');
var htmlmin = require('gulp-htmlmin'), //html压缩
    imagemin = require('gulp-imagemin'),//图片压缩
    pngcrush = require('imagemin-pngcrush'),
    minifycss = require('gulp-minify-css'),//css压缩
    jshint = require('gulp-jshint'),//js检测
    uglify = require('gulp-uglify'),//js压缩
    concat = require('gulp-concat'),//文件合并
    rename = require('gulp-rename'),//文件更名
    notify = require('gulp-notify'),//提示信息
    less =require('gulp-less'),     //编译less
    connect=require('gulp-connect');//创建服务器-浏览器实时刷新

  

//部署各种任务
// 压缩html
gulp.task('html', function() {
    return gulp.src('src/*.html')
        .pipe(htmlmin({collapseWhitespace: true}))
        .pipe(gulp.dest('./dest'))
        .pipe(notify({ message: 'html task ok' }));
});
// 压缩图片
gulp.task('img', function() {
    return gulp.src('src/images/*')
        .pipe(imagemin({
            progressive: true,
            svgoPlugins: [{removeViewBox: false}],
            use: [pngcrush()]
        }))
        .pipe(gulp.dest('./dest/images/'))
        .pipe(notify({ message: 'img task ok' }));
});
// 合并、压缩、重命名css
gulp.task('css', function() {
    return gulp.src('src/css/*.css')
        .pipe(concat('main.css'))
        .pipe(gulp.dest('dest/css'))
        .pipe(rename({ suffix: '.min' }))
        .pipe(minifycss())
        .pipe(gulp.dest('dest/css'))
        .pipe(notify({ message: 'css task ok' }));
});
// 检查js
gulp.task('lint', function() {
    return gulp.src('src/js/*.js')
        .pipe(jshint())
        .pipe(jshint.reporter('default'))
        .pipe(notify({ message: 'lint task ok' }));
});
// 合并、压缩js文件
gulp.task('js', function() {
    return gulp.src('src/js/*.js')
        .pipe(concat('all.js'))
        .pipe(gulp.dest('dest/js'))
        .pipe(rename({ suffix: '.min' }))
        .pipe(uglify())
        .pipe(gulp.dest('dest/js'))
        .pipe(notify({ message: 'js task ok' }));
});
//编译less
gulp.task('less',function () {
    return gulp.src('src/less/*.less')
        .pipe(less())
        .pipe(gulp.dest('src/css'))
        .pipe(notify({message:'less task ok'}));
});
//浏览器实时刷新
gulp.task('serve',function () {
    //创建一个服务器,端口默认是8080
    connect.server({
        //root:根目录
        root:'dest',
        livereload:true
    });
    gulp.watch('dest/**/*.*',['reload']);
});
//部署动作命令-reload
gulp.task('reload',function () {
    gulp.src('dest/**/*.*')
        .pipe(connect.reload());
});

  

//运行命令:gulp default
// 默认任务
gulp.task('default',['img','css','lint','js','html','less','serve'],function(){
   // gulp.run('img','css','lint','js','html','less','serve');
  //gulp.run已经被废弃
    // 监听html文件变化
    gulp.watch('src/*.html',['html']);

    // Watch .css files
    gulp.watch('src/css/*.css',['css']);

    // Watch .js files
    gulp.watch('src/js/*.js',['lint','js']);

    // Watch image files
    gulp.watch('src/images/*', ['img']);

    //watch less files
    gulp.watch('src/less/*.less',['less']);

});

  cmd命令窗口可以直接执行default命令运行,如果你是用的webstorm编辑器可以直接运行哦;;

 

 

 

转载于:https://www.cnblogs.com/webSong/p/6386309.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值