gulp和webpack的差别:https://www.cnblogs.com/lovesong/p/6413546.html

var gulp = require('gulp');

var del = require('del');
// 常用插件
// 压缩javascript文件,减小文件大小
var uglify = require('gulp-uglify');
// 文件重命名
var rename = require('gulp-rename');
// 压缩css
var cssmin = require('gulp-cssmin');
// 合并javascript文件,减少网络请求
var concat = require('gulp-concat');
//解析sass文件
var sass = require("gulp-sass");
// 压缩图片
var imagemin = require("gulp-imagemin");
// 压缩html
var htmlmin = require('gulp-htmlmin');
// babel es6转化为es5
var babel = require("gulp-babel"); // 用于ES6转化ES5

//开启服务器

var connect = require('gulp-connect');
gulp.task('server', ['default', 'watch'], function() {
    connect.server({
        root: 'dist',
        port: 8080,
        livereload: true
    })
})
gulp.task('watch', function () {
//监听文件变化

gulp.watch('blog/*.html', ['htmlmin']);
 
gulp.watch('blog/**/*.js', ['uglify']);
});
//var livereload = require('gulp-livereload');
gulp.task('default',['cssmin', 'imagemin', 'uglify', 'htmlmin'], function() {
console.log('正确执行该任务')
});

//es6转es5

gulp.task('es6', function() {
    return gulp.src('blog/es6.js')
    .pipe(babel())
    .pipe(gulp.dest('build'))
     .pipe(connect.reload())
})
//压缩css文件
gulp.task('cssmin', function() {
console.log('正确执行css压缩任务')
    return gulp.src('blog/**/*.css')
    .pipe(cssmin())
//  .pipe(rename({suffix:'.min'}))
    .pipe(gulp.dest('dist'));
});
//重命名
gulp.task('uglify', function() {
    return gulp.src("blog/**/*.js")
    .pipe(uglify())
//  .pipe(rename({suffix:'.min'}))
    .pipe(gulp.dest('dist'))
})
//压缩图片
gulp.task('imagemin', function(){
    return gulp.src('blog/images/*')
        .pipe(imagemin({
optimizationLevel: 5, //类型:Number 默认:3 取值范围:0-7(优化等级)
progressive: true, //类型:Boolean 默认:false 无损压缩jpg图片
interlaced: true, //类型:Boolean 默认:false 隔行扫描gif进行渲染
multipass: true //类型:Boolean 默认:false 多次优化svg直到完全优化
}))
        .pipe(gulp.dest('dist/images'))
});
gulp.task('htmlmin', function () {
var options = {
removeComments: true,//清除HTML注释
collapseWhitespace: true,//压缩HTML
minifyJS: true,//压缩页面JS
minifyCSS: true//压缩页面CSS
};
return gulp.src('blog/*.html')
.pipe(htmlmin(options))
.pipe(gulp.dest('dist/'))
.pipe(connect.reload())
});
gulp.task('clean', function(){
    del([
        'dist'
    ])
})
//var watch = gulp.watch('app/index.html', ["minify"]);
//watch.on('change', function(event) {
//  console.log('File' + event.path)
//})

gulp的常用插件的更多相关文章

  1. 前端构建之gulp与常用插件

    gulp是什么? http://gulpjs.com/ 相信你会明白的! 与著名的构建工具grunt相比,有什么优势呢? 易于使用,代码优于配置 高效,不会产生过多的中间文件,减少I/O压力 易于学习 ...

  2. 前端构建之gulp与常用插件(转载)

    原博主:幻天芒 原文地址:http://www.cnblogs.com/humin/p/4337442.html gulp是什么? http://gulpjs.com/ 相信你会明白的! 与著名的构建 ...

  3. 前端自动化Gulp工具常用插件

    npm init命令初始化当前文件夹后,在当前文件夹新建gulpfile.js文件.当前目录下的所有操作流都在gulpfile.js文件中定义. gulp自动化 gulp-uglify (JS压缩) ...

  4. Gulp工具常用插件

    gulp-uglify(js压缩) gulp-uglify安装 // npm install --save-dev gulp-uglify 已过时 npm install --save-dev jsh ...

  5. 前端构建工具之gulp_常用插件

    gulp常用插件的使用 今天来看看一下gulp的常用插件的使用 就像gruntjs需要一个Gruntfile.js文件一样,gulp也需要一个文件作为它的主文件,在gulp中这个文件叫做gulpfil ...

  6. 精通gulp常用插件

    本文主要展示的是gulp常用插件的使用方法和用途,通过对插件的熟练运用达到精通gulp.不定期更新.可以到github上面下载DEMO. github地址:lin-xin/gulp-plugins 匹 ...

  7. gulp 常用插件汇总

    2017-07-26更新:图片压缩插件使用gulp-smushit,gulp-smushit压缩率比较大,gulp-imagemin 图片压缩插件压缩率不明显. 见下图压缩率: 1.gulp安装 参照 ...

  8. node和gulp实现前端工程自动化(附:gulp常用插件)

    /** * 1. LESS编译 压缩 合并 * 2. JS合并 压缩 混淆 * 3. img复制 * 4. html压缩 */ // 在gulpfile中先载入gulp包,因为这个包提供了一些APIv ...

  9. gulp常用插件之gulp-eslint使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 ** gulp-eslint**这是一个用于识别和报告在ECMAScript/JavaScript代码中找到的模式的Gulp插件.. 更多使用文档 ...

随机推荐

  1. ch8 -- directMethod

    稀疏直接法 主要用的g2o的方法.自己定义了一个新的一元边.边的误差项是测量值和由估计得来的x,y对应的灰度值之间的误差.导数为灰度对像素坐标的导数乘以像素坐标对yi*李代数的导数的负数.灰度对于像素 ...

  2. Selenium WebDriver原理(二):Selenium是如何操纵浏览器的?

    前言 上一篇文章<selenium webdriver 是怎么运行的>用了一个简单的例子--搭出租车,形象地讲解selenium webdriver 是如何运行的,而这一篇文章可以理解为深 ...

  3. 20-----定位 (Position)

    定位 定位有三种: 1.相对定位 2.绝对定位 3.固定定位 这三种定位,每一种都暗藏玄机,所以我们要一一单讲. 相对定位 相对定位:相对于自己原来的位置定位 现象和使用: 1.如果对当前元素仅仅设置 ...

  4. 003 Longest Substring Without Repeating Characters 最长不重复子串

    Given a string, find the length of the longest substring without repeating characters.Examples:Given ...

  5. 了解Unix进程(3)

    fork() 系统调用可以创建新的进程.然后查看进程ID和父进程ID使用getpid()和getppid()函数. 使用C语言描述: #include <unistd.h> #includ ...

  6. SpringMVC09 Converter变流器、数据回显、异常测试

    1.配置web.xml文件 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3// ...

  7. 前端-页面性能调试:Hiper

    前端-页面性能调试:Hiper   我们写单页面应用,想看页面修改后性能变更其实挺繁琐的.有时想知道是「正优化」还是「负优化」只能靠手动刷新查看network.而Hiper很好解决了这一痛点(其实Hi ...

  8. JavaSE_2_关键字

    1.介绍一下Syncronized锁,如果用这个关键字修饰一个静态方法,锁住了什么?如果修饰成员方法,锁住了什么? synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下四种: ...

  9. Mavlink 协议 理解

    来源:blog.csdn.net/super_mice/article/details/44836585 之前看了mavlink协议,网上关于mavlink的资料不多.本文大概总结了下对mavlink ...

  10. 从零开始的全栈工程师——js篇2.3

    自加和自减 =赋值运算 他的顺序是从右往左 从后往前 var a=12; 声明一个变量并将12赋值给aa=a+2; 将a+2赋值给a简写a+=3; a=a+3a+=1; a++ 在自己原有的基础上加1 ...