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. Migration-添加表

    public partial class _111111 : DbMigration { public override void Up() { CreateTable( "dbo.Asse ...

  2. Win10创建还原点

    Win + E打开任务管理器 右击此电脑,选择属性 单击高级系统设置 选择系统保护 单击系统还原 按照提示操作,OK.

  3. (转)Linux硬链接、软链接及inode详解

    inode 文件储存在硬盘上,硬盘的最小存储单位叫做“扇区”(Sector).每个扇区储存512字节(相当于0.5KB). 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读 ...

  4. 【Windows】命令行查询占用端口信息

    Windows上查询443端口被占用的信息: NETSTAT.EXE -nao | findstr "443" 查询结果 杀掉进程: tskill 2888

  5. mysql双主互备

    mysql主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave),备服务器从主服务器同步数据,完成数据的 ...

  6. phpcms文件结构

    主要目录部分 /admin 管理后台目录       -- /skin/    后台样式       -- /templates/    后台样式模板 /api api接口 /corpandresiz ...

  7. InteliJ idea import project 找不到文件结构解决办法

    一.按下列步骤操作:       1. 关闭IDEA,        2.然后删除项目文件夹下的.idea文件夹       3.重新用IDEA工具打开项目: 二.import新项目之后,可能需要等1 ...

  8. 小程序的switch组件

    小程序的switch开关组件,总结下大概有三种使用场景. 其一: 纯展示场景, 用来展示某个开关值是打开还是关闭的,这个场景比较简单,给个disabled属性就ok了: 其二: 用户点击后立即切换开关 ...

  9. ElasticSearch入门-搜索(java api)

    ElasticSearch入门-搜索(java api) package com.qlyd.searchhelper; import java.util.Map; import net.sf.json ...

  10. li浮动 第二行第一个位置空白

    li浮动 第二行第一个位置空白:解决办法 li加上 vertical-align:bottom;overflow:hidden; 一行字多了 省略号代替: text-overflow: ellipsi ...