gulp系列学习笔记:

1、gulp学习笔记1

2、gulp学习笔记2

3、gulp学习笔记3

4、gulp学习笔记4

之前的任务都是单个的,比较简单。接下去我们开始引用多个插件,一次性把任务搞定,省时又方便。

1、合并压缩js文件

  为了提高网页的显示速度,最好是将所有的js文件合并成同一个文件,再来引用,这时候可以用到 gulp-concat 插件;进一步,还可以对其进行压缩。但是有时候我们在写js代码的时候,经常用到 console 语句和 debugger 语句。有时候会忘了删除,这时候我们可以用插件 gulp-strip-debug。

好了,任务开始,安装模块:

npm install gulp-concat --save-dev
npm install gulp-strip-debug --save-dev
npm install gulp-uglify --save-dev

在配置文件中编写相应的代码:

// 引用插件
var concat = require('gulp-concat');
var stripDebug = require('gulp-strip-debug');
var uglify = require('gulp-uglify'); // JS concat, strip debugging and minify
gulp.task('scripts', function() {
 // 将lib.js放在上面,其他文件任意顺序
gulp.src(['./src/scripts/lib.js','./src/scripts/*.js'])
.pipe(concat('script.js'))
.pipe(stripDebug())
.pipe(uglify())
.pipe(gulp.dest('./build/scripts/'));
});

例如:

gulp.src(['./lib/file3.js', './lib/file1.js', './lib/file2.js'])

是将file3.js,file1.js 和 file2.js 按顺序进行合并。

后面输入相应的命令运行即可。

2、压缩合并css文件

与上一个任务基本相似,但是css里面不需要 gulp-strip-debug 插件,但是需要 gulp-autoprefixer 插件,能够自动添加css样式的前缀。

还是一样,安装相应的插件:

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

在配置文件添加如下代码:

// 引用插件
var autoprefix = require('gulp-autoprefixer');
var minifyCSS = require('gulp-minify-css'); // CSS concat, auto-prefix and minify
gulp.task('styles', function() {
gulp.src(['./src/styles/*.css'])
.pipe(concat('styles.css'))
.pipe(autoprefix('last 2 versions'))
.pipe(minifyCSS())
.pipe(gulp.dest('./build/styles/'));
});

其中的 autoprefix('last 2 versions')含义是包含主流浏览器最近的2个版本。

后面输入相应的命令运行即可。

3、监听任务,自动执行

上面我们建立了很多任务,比如html,css和js压缩等,那我们每次要做某一件事就输一次命令是不是太麻烦了。我们完全可以这样做:

// 建立默认的gulp任务
gulp.task('default', ['imagemin', 'htmlpage', 'scripts', 'styles'], function() {
// 监听 HTML 变化
gulp.watch('./src/*.html', function() {
gulp.run('htmlpage');
}); // 监听 js 变化
gulp.watch('./src/scripts/*.js', function() {
gulp.run('jshint', 'scripts');
}); // 监听 CSS 变化
gulp.watch('./src/styles/*.css', function() {
gulp.run('styles');
});
});

把这些任务都监听后,我们要做的就是输入命令运行:

gulp

这样我们文件有修改,就会自动运行。

gulp还有其他很多好用插件,这就需要看个人的任务需要了。

文章参考了以下资料:

1、gulp详细入门教程:  http://www.ydcss.com/archives/18;

2、gulp API 文档:  http://www.gulpjs.com.cn/docs/api/;

3、gulp 入门指南:  https://github.com/huanshen/gulp-book;

4、An Introduction to Gulp.js:  https://www.sitepoint.com/introduction-gulp-js/

gulp学习笔记4的更多相关文章

  1. gulp学习笔记1

    gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1.安装gulp 首先我们需要node环境,nodejs安装这里就不说了,不懂的 ...

  2. gulp学习笔记2

    gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1. 压缩 CSS 压缩 css 代码可降低 css 文件大小,提高页面打开速度 ...

  3. gulp学习笔记3

    gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1.编译sass Sass 是一种 CSS 的开发工具,提供了许多便利的写法,大 ...

  4. 前端自动化构建工具 gulp 学习笔记 一、

    一.我对gulp的初期理解 是一种前端辅助开发工具 可以帮你把js,css,img等文件 合并.压缩,图片好像是合并为精灵图,合并为精灵图之后,还会生成一个css样式表. 官方解说是:基于流的自动化构 ...

  5. gulp 学习笔记

    以这次学习gulp为契机来同时了解和学习node相关的知识和概念,比如 npm,package.json等,为以后学习node打好基础. 目录   npm     查看模块     安装模块      ...

  6. gulp学习笔记——最好的学习文档是官网

    官网:http://www.gulpjs.com.cn/docs/api/ 当然还有一个博客写的也很好,当我看不下去官网的时候,这个帮助了我很多,明了易懂:http://www.ydcss.com/a ...

  7. gulp学习笔记

    第一步:安装Node 首先,gulp 是基于 Nodejs 的自动任务运行器,所以安装gulp之前,最基本也最重要的是,我们需要搭建node环境.访问http://nodejs.org,下载并安装No ...

  8. gulp 学习笔记 (初识)

    根据极客学院入门视频整理 一.gulp介绍,主要提到了gulp是基于流式来管理运行的,目前完全搞不懂这一套专业术语. 二.gulp的安装使用. 1.首先需要在全局环境下安装gulp npm insta ...

  9. gulp学习笔记2-安装

    安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 -> 配置gulpfile.js -> 运行任务 1.去nodejs官网安装nodejs 2. ...

随机推荐

  1. 写好Hive 程序的若干优化技巧和实际案例

    使用Hive可以高效而又快速地编写复杂的MapReduce查询逻辑.但是一个”好”的Hive程序需要对Hive运行机制有深入的了解,像理解mapreduce作业一样理解Hive QL才能写出正确.高效 ...

  2. 通过uCGUIBulider4.0建立的ucGUI文件,控件汉字不能显示问题解决办法

    由于uCGUIBulider4.0不能在64位操作系统中运行,于是在电脑上通过VMware Workstation Pro搭建虚拟的32位的win7环境,然后把win7中用uCGUIBulider4. ...

  3. Add more security in Visual Studio 2012

    Compile flags: /GS: Stack protection from buffer overrun. /SDL: Subset of W3&W4 security warning ...

  4. 页面加载完成后加载多个函数的js完美解决方案

    function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') ...

  5. SAP HANA专题分析目录

    针对HANA的关键技术领域, 做深度解析. 1. HANA开发规范 HANA 各种对象的应用解析.版本管理,开发规范. 2. HANA系统管理 用户.系统权限.数据权限的深度解析. HANA系统配置. ...

  6. vs2010中的MSBuild输出warning MSB8012问题

    vs2010中,MSBuild与C++编译器无缝整合.无论使用vs2010生成的代码,还是转换vs2008或者是更低版本vs编译的C++代码.都会在工程编译后,都会提示一条错误: C:\Program ...

  7. web

    1.linux下交换文件 .index.php.swp 有时可查看源码2.当php后缀被过滤的时候可以直接对ph开头的后缀进行一个fuzz测试可以上传的文件后缀名3.curl -x 123.45.67 ...

  8. webuploader 断点续传

    webuploader 实现 断点续传webuploader是百度开发的上传文件前端控件.可支持html5和flash,因此对浏览器的兼容比较好.因为需要用到ie8,ie8不支持html5,所以必须支 ...

  9. IO-04. 混合类型数据格式化输入(5)

    本题要求编写程序,顺序读入浮点数1.整数.字符.浮点数2,再按照字符.整数.浮点数1.浮点数2的顺序输出. 输入格式: 输入在一行中顺序给出浮点数1.整数.字符.浮点数2,其间以1个空格分隔. 输出格 ...

  10. wireshark常用过滤规则

    wireshark常用过滤规则:(Filter中输入过滤规则)1.源ip过滤:ip.src==1.1.1.1               (过滤源ip为1.1.1.1的包) 2.目的ip过滤:ip.d ...