npm init命令初始化当前文件夹后,在当前文件夹新建gulpfile.js文件。当前目录下的所有操作流都在gulpfile.js文件中定义。

gulp自动化

gulp-uglify (JS压缩)


gulp-uglify安装:

npm install --save-dev gulp-uglify

gulp-uglify用来压缩js文件,使用的是uglify引擎。

var gulp = require('gulp');  //加载gulp
var uglify = require('gulp-uglify'); //加载js压缩 // 定义一个任务 compass
gulp.task('compass', function () {
gulp.src(['js/*.js','!js/*.min.js']) //获取文件,同时过滤掉.min.js文件
.pipe(uglify())
.pipe(gulp.dest('javascript/')); //输出文件
});

小技巧,第二个参数'!js/*.min.js'是用来过滤掉后缀为min.js,!感叹号为排除模式。

gulp-minify-css(CSS压缩)


gulp-minify-css安装:

npm install --save-dev gulp-minify-css

可以使用它来压缩CSS文件

var gulp = require('gulp');
var minify = require('gulp-minify-css'); gulp.task('cssmini', function () {
gulp.src(['css/*.css', '!css/*.min.css']) //要压缩的css
.pipe(minify())
.pipe(gulp.dest('buildcss/'));
});

gulp-minify-html(html压缩)


gulp-minify-html安装:

npm install --save-dev gulp-minify-html

可以使用它来压缩html文件.

var gulp = require('gulp');
var htmlmini = require('gulp-minify-html'); gulp.task('htmlmini', function () {
gulp.src('*.html')
.pipe(htmlmini())
.pipe(gulp.dest('minihtml'));
})

gulp-jshint(JS代码检查)


gulp-jshint安装:

npm install --save-dev gulp-jshint

可以用来检查JS的代码

var gulp = require('gulp');
var jshint = require("gulp-jshint"); gulp.task('jsLint', function () {
gulp.src('js/*.js')
.pipe(jshint())
.pipe(jshint.reporter()); // 输出检查结果
});

gulp-concat(文件合并)


gulp-concat安装:

npm install --save-dev gulp-concat

合并CSS与JS文件,减少http请求。

var gulp = require('gulp');
var concat = require("gulp-concat"); gulp.task('concat', function () {
gulp.src('js/*.js') //要合并的文件
.pipe(concat('all.js')) // 合并匹配到的js文件并命名为 "all.js"
.pipe(gulp.dest('dist/js'));
});

gulp-less(编译Less)


gulp-less安装:

npm install --save-dev gulp-less

把less文件转换为css。

var gulp = require('gulp'),
less = require("gulp-less"); gulp.task('compile-less', function () {
gulp.src('less/*.less')
.pipe(less())
.pipe(gulp.dest('dist/css'));
});

gulp-sass(编译Sass)


gulp-sass安装:

npm install --save-dev gulp-sass

把scss文件转换为sass文件。

var gulp = require('gulp'),
sass = require("gulp-sass"); gulp.task('compile-sass', function () {
gulp.src('sass/*.sass')
.pipe(sass())
.pipe(gulp.dest('dist/css'));
});

gulp-imagemin(压缩图片)


gulp-imagemin安装:

npm install --save-dev gulp-imagemin

可以使用gulp-imagemin的插件来压缩jpg、png、gif等图片。(imagemin也是有插件的,是基于imagemin产生的插件,所以前缀是imagenin开头)

压缩png插件-imagemin-pngquant安装:

$npminstall--save-devimagemin-pngquant

gulpfile.js:

var gulp = require('gulp');
var imagemin = require('gulp-imagemin');
var pngquant = require('imagemin-pngquant'); //png图片压缩插件 gulp.task('default', function () {
return gulp.src('src/images/*')
.pipe(imagemin({
progressive: true,
use: [pngquant()] //使用pngquant来压缩png图片
}))
.pipe(gulp.dest('dist'));
});

gulp-imagemin的使用比较复杂一点,它本身也有很多插件(更多imagemin插件),这里只是简单介绍一下,要想压缩不同格式的图片,必须对应安装不同的插件,这里只安装了pngquant插件。按照nodejs的模块化思想,每个require只包含一个功能,这样就可以达到按需加载的目的。

gulp-livereload(自动刷新)


gulp-livereload安装:

npm install --save-dev gulp-livereload

当代码变化时,它可以帮助我们自动刷新页面,该插件最好配合谷歌浏览器,且要安装livereload chrome extension扩展插件,否则无效。

var gulp = require('gulp'),
less = require('gulp-less'),
livereload = require('gulp-livereload'); gulp.task('less', function() {
gulp.src('less/*.less')
.pipe(less())
.pipe(gulp.dest('css'))
.pipe(livereload());
}); gulp.task('watch', function() {
livereload.listen(); //要在这里调用listen()方法
gulp.watch('less/*.less', ['less']); //监听目录下的文件,若文件发生变化,则调用less任务。
});

  

前端自动化Gulp工具常用插件的更多相关文章

  1. Gulp工具常用插件

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

  2. gulp前端自动化构建工具新手入门篇

    很久没有更新博文了. 经过了一次年前吐血的赶项目,终于在年后回血了.趁着有空,新学到了一个前端自动化构建工具-gulp. 现在我们通过这3个问题来学习一下: 1.什么是gulp? 2.为什么要用gul ...

  3. 前端自动化构建工具——gulp环境搭建教程

    gulp是前端工程化的工具,它可以对html,css,js等代码和图片进行压缩,也可以对sass和less等预处理语言进行编译,代码部署.gulp学起来简单,用起来方便,大大提高我们工作效率. 这里可 ...

  4. 前端自动化构建工具gulp的使用总结

    前端自动化构建工具gulp的使用总结 博主最近偶的空闲,在此对gulp的使用做一个总结,让小伙伴知道如何合理的使用gulp以及gulp的使用技巧. 谈到gulp,有人可能就会想到另外一个构建工具gru ...

  5. 前端自动化构建工具——gulp

    gulp是基于流的前端自动化构建工具. 一.环境配置 gulp是基于nodejs的,所以没有 nodejs 环境的要先去安装好 然后给系统配上gulp环境 npm install -g gulp 再到 ...

  6. 前端自动化构建工具 Gulp 使用

    一个月没写博客了,今天有时间,就写个gulp的入门使用吧.. 简介:gulp是一个前端自动化构建工具,可以实现代码的检查.压缩.合并……等等,gulp是基于Node.js的自动任务运行器 一.安装No ...

  7. 前端自动化gulp遇上es6从 无知到深爱

    Gulp是什么? Gulp是前端自动化的工具,但Gulp能用来做什么 1.搭建web服务器 2.使用预处理器Sass,Less 3.压缩优化,可以压缩JS CSS Html 图片 4.自动将更新变化的 ...

  8. gulp前端自动化构建工具入门篇

    现在我们通过这3个问题来学习一下: 1.什么是gulp? 2.为什么要用gulp? 3.怎么用?   什么是gulp 答:是一个前端自动化的构建工具,直白点说,如果没有这个工具,我们利用人工依旧可以做 ...

  9. 前端自动化构建工具--Gulp&&Webpack

    前端构建工具的作用可以认为是对源项目文件或资源进行文件级处理,将文件或资源处理成需要的最佳输出结构和形式. 在处理过程中,我们可以对文件进行模块化引入.依赖分析.资源合并.压缩优化.文件嵌入.路径替换 ...

随机推荐

  1. xaml mvvm(2)之属性绑定

    通过微软INotifyPropertyChanged接口,可以实现对UI实时更新,不管是数据源或者目标对象,可以实现相互通知. 下面我们根据INotifyPropertyChanged编写一个扩展类. ...

  2. csv文件乱码

    问题描述: 生成的csv文件,设置为UTF-8格式,在windows上用EXCEL打开的话会乱码,在linux上用vim或者cat打开查看正常:设置为GBK格式的话,在windows上用EXCEL打开 ...

  3. mvc和mvvm的区别?

    源自:https://segmentfault.com/q/1010000000534091?_ea=178721 Model:很简单,就是业务逻辑相关的数据对象,通常从数据库映射而来,我们可以说是与 ...

  4. c# 调用微信小程序

    //微信也不给个c#调用的例子 只好自己造咯:ps:大佬勿喷 1 public string GetWx(string code, string iv, string encryptedData) { ...

  5. [Oracle]Oracle数据库CPU利用率很高解决方案

    Oracle数据库经常会遇到CPU利用率很高的情况,这种时候大都是数据库中存在着严重性能低下的SQL语句,这种SQL语句大大的消耗了CPU资源,导致整个系统性能低下.当然,引起严重性能低下的SQL语句 ...

  6. Thread类

    Thread类相对于线程池中的线程,使用者有更多的控制权.该类允许创建前台线程,设置线程优先级等.Thread类的构造函数重载为接受ThreadStart和ParameterizedThreadSta ...

  7. c# 图片等比缩略

    public Bitmap getnew(Image bit, int TargetWidth, int TargetHeight)//beishu参数为放大的倍数.放大缩小都可以,0.8即为缩小至原 ...

  8. UWP开发砸手机系列(一)—— Accessibility

    因为今天讨论的内容不属于入门系列,所以我把标题都改了.这个啥Accessibility说实话属于及其蛋疼的内容,即如何让视力有障碍的人也能通过声音来使用触屏手机……也许你这辈子也不会接触,但如果有一天 ...

  9. WPF自定义控件之列表滑动特效 PowerListBox

    列表控件是应用程序中常见的控件之一,对其做一些绚丽的视觉特效,可以让软件增色不少. 本人网上看过一个视频,是windows phone 7系统上的一个App的列表滚动效果,效果非常炫 现在在WPF上用 ...

  10. CSS链接的样式a:link,a:visited,a:hover,a:active

    a :link(未被访问)a:hover(鼠标悬停)a:visited(访问过:真正到达那个页面)a:active(鼠标点击与释放之间.对无href属性的a对象无作用) 这几个元素,定义CSS时候的顺 ...