gulp系列学习笔记:

1、gulp学习笔记1

2、gulp学习笔记2

3、gulp学习笔记3

4、gulp学习笔记4

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

1、合并压缩js文件

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

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

  1. npm install gulp-concat --save-dev
  2. npm install gulp-strip-debug --save-dev
  3. npm install gulp-uglify --save-dev

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

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

例如:

  1. 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样式的前缀。

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

  1. npm install gulp-autoprefixer --save-dev
  2. npm install gulp-minify-css --save-dev

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

  1. // 引用插件
  2. var autoprefix = require('gulp-autoprefixer');
  3. var minifyCSS = require('gulp-minify-css');
  4.  
  5. // CSS concat, auto-prefix and minify
  6. gulp.task('styles', function() {
  7. gulp.src(['./src/styles/*.css'])
  8. .pipe(concat('styles.css'))
  9. .pipe(autoprefix('last 2 versions'))
  10. .pipe(minifyCSS())
  11. .pipe(gulp.dest('./build/styles/'));
  12. });

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

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

3、监听任务,自动执行

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

  1. // 建立默认的gulp任务
  2. gulp.task('default', ['imagemin', 'htmlpage', 'scripts', 'styles'], function() {
  3. // 监听 HTML 变化
  4. gulp.watch('./src/*.html', function() {
  5. gulp.run('htmlpage');
  6. });
  7.  
  8. // 监听 js 变化
  9. gulp.watch('./src/scripts/*.js', function() {
  10. gulp.run('jshint', 'scripts');
  11. });
  12.  
  13. // 监听 CSS 变化
  14. gulp.watch('./src/styles/*.css', function() {
  15. gulp.run('styles');
  16. });
  17. });

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

  1. 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. Only女装首页HTML+CSS代码实现

    这是效果图,因为太长,缩略了. 在学习HTML和CSS基础的时候做的.自己切图下来做的. 没有什么技术含量. 源代码和图片我放在github上了, 上个链接吧: https://github.com/ ...

  2. Android数据存储之SharedPreferences存储

    安卓系统为应用提供了系统级的配置存储方案,它就是靠SharedPreferences接口来实现的,该接口存储的所有信息都是以名值对的形式保存,但其保存的数据类型也仅限于基本数据类型,如字符串.整形.布 ...

  3. 如何删除选中的checkbox

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. Alpha、Beta、RC、GA版本的区别 ZT

    http://www.blogjava.net/RomulusW/archive/2008/05/04/197985.html Alpha:是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试 ...

  5. rails4.2~devise邮箱测试

    1.由于网站无需验证,只需一封欢迎邮件,在config/intiailzers/devise.rb里面配置 config.allow_unconfirmed_access_for = nil #2.d ...

  6. MongoDB初步(一)

    1.软件下载:mongodb-win32-x86_64-2008plus-ssl-3.4.1-signed.msi 2.下载补丁:hotfix kb2731284

  7. javadoc错误: 编码gbk的不可映射字符

    在使用Eclipse进行javadoc的导出时,提示“编码 GBK 的不可映射字符”,应该就是中文注释Eclipse不认,需要在调用javadoc.exe的时候传递编码集告诉它采用什么编码去生成jav ...

  8. Texture Atlas

    Texture atlas [1][2] is a technique to group smaller textures into a larger texture. This decreases ...

  9. GCC 源码编译 mpc mprf gmp 不用make(否则会有lib/libgmp.so: could not read symbols: File in wrong format等错误)

    错误信息: lib/libgmp.so: could not read symbols: File in wrong formatcollect2: error: ld returned 1 exit ...

  10. 在Linux上用supervisor运行ASP.NET Core站点的一个坑

    将一个ASP.NET Core站点在Linux服务器上以self-contained部署方式发布出来后,直接在终端上运行下面的命令,站点可以正常运行. /data/AboutUs/bin/Debug/ ...