gulp学习笔记4
gulp系列学习笔记:
之前的任务都是单个的,比较简单。接下去我们开始引用多个插件,一次性把任务搞定,省时又方便。
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的更多相关文章
- gulp学习笔记1
gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1.安装gulp 首先我们需要node环境,nodejs安装这里就不说了,不懂的 ...
- gulp学习笔记2
gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1. 压缩 CSS 压缩 css 代码可降低 css 文件大小,提高页面打开速度 ...
- gulp学习笔记3
gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1.编译sass Sass 是一种 CSS 的开发工具,提供了许多便利的写法,大 ...
- 前端自动化构建工具 gulp 学习笔记 一、
一.我对gulp的初期理解 是一种前端辅助开发工具 可以帮你把js,css,img等文件 合并.压缩,图片好像是合并为精灵图,合并为精灵图之后,还会生成一个css样式表. 官方解说是:基于流的自动化构 ...
- gulp 学习笔记
以这次学习gulp为契机来同时了解和学习node相关的知识和概念,比如 npm,package.json等,为以后学习node打好基础. 目录 npm 查看模块 安装模块 ...
- gulp学习笔记——最好的学习文档是官网
官网:http://www.gulpjs.com.cn/docs/api/ 当然还有一个博客写的也很好,当我看不下去官网的时候,这个帮助了我很多,明了易懂:http://www.ydcss.com/a ...
- gulp学习笔记
第一步:安装Node 首先,gulp 是基于 Nodejs 的自动任务运行器,所以安装gulp之前,最基本也最重要的是,我们需要搭建node环境.访问http://nodejs.org,下载并安装No ...
- gulp 学习笔记 (初识)
根据极客学院入门视频整理 一.gulp介绍,主要提到了gulp是基于流式来管理运行的,目前完全搞不懂这一套专业术语. 二.gulp的安装使用. 1.首先需要在全局环境下安装gulp npm insta ...
- gulp学习笔记2-安装
安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 -> 配置gulpfile.js -> 运行任务 1.去nodejs官网安装nodejs 2. ...
随机推荐
- Only女装首页HTML+CSS代码实现
这是效果图,因为太长,缩略了. 在学习HTML和CSS基础的时候做的.自己切图下来做的. 没有什么技术含量. 源代码和图片我放在github上了, 上个链接吧: https://github.com/ ...
- Android数据存储之SharedPreferences存储
安卓系统为应用提供了系统级的配置存储方案,它就是靠SharedPreferences接口来实现的,该接口存储的所有信息都是以名值对的形式保存,但其保存的数据类型也仅限于基本数据类型,如字符串.整形.布 ...
- 如何删除选中的checkbox
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Alpha、Beta、RC、GA版本的区别 ZT
http://www.blogjava.net/RomulusW/archive/2008/05/04/197985.html Alpha:是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试 ...
- rails4.2~devise邮箱测试
1.由于网站无需验证,只需一封欢迎邮件,在config/intiailzers/devise.rb里面配置 config.allow_unconfirmed_access_for = nil #2.d ...
- MongoDB初步(一)
1.软件下载:mongodb-win32-x86_64-2008plus-ssl-3.4.1-signed.msi 2.下载补丁:hotfix kb2731284
- javadoc错误: 编码gbk的不可映射字符
在使用Eclipse进行javadoc的导出时,提示“编码 GBK 的不可映射字符”,应该就是中文注释Eclipse不认,需要在调用javadoc.exe的时候传递编码集告诉它采用什么编码去生成jav ...
- Texture Atlas
Texture atlas [1][2] is a technique to group smaller textures into a larger texture. This decreases ...
- 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 ...
- 在Linux上用supervisor运行ASP.NET Core站点的一个坑
将一个ASP.NET Core站点在Linux服务器上以self-contained部署方式发布出来后,直接在终端上运行下面的命令,站点可以正常运行. /data/AboutUs/bin/Debug/ ...