npm install --save-dev 写入package.json里
 
 
var gulp = require('gulp');
var less = require('gulp-less');//less解析
var minifycss = require('gulp-minify-css');//css压缩
var uglify = require('gulp-uglify');js压缩
 
 
使用方法:
 
gulp.task('less', function() {
gulp.src('./css/*.css')//压缩的文件
.pipe(less())//执行压缩
.pipe(gulp.dest('./css'));//输出文件夹
});
....
//watch监听任务
gulp.task('watch', function(){
gulp.watch('./css/*.css',['less'] )//gulp的watch监听,文件改动后立即重新执行less任务
})
 
 
gulp.task('default', ['less',...]);//执行以上方法
 
 
单独介绍:
var combiner = require('stream-combiner2');//监控合并时候文件本身的错误
 
默认情况下,在 stream 中发生一个错误的话,它会被直接抛出,除非已经有一个时间监听器监听着 error 时间。 这在处理一个比较长的管道操作的时候会显得比较棘手。
 
gulp.task('test',function(){
//流合并监听的方式 (故意写错了js,能够监听到错误处在哪个文件,和错误的具体位置)
var combined = combiner.obj([
gulp.src('js/*.js'),
uglify(),
gulp.dest('dst/js')
]);
 
combined.on('error',console.error.bind(console));
return combined;
 
});
 
gulp.task('default', ['test']);
 
它会把错误的信息、文件名、行数、列数·、位置、是执行哪个插件出现的错误,错误文件的路径,错误时间等等详细的信息都列出来。
 
 
 
不仅如此,大家有没有发现一个小细节,就是使用了stream-combiner2的方式,在执行uglify的时候没有通过管道。
 
这里我也很奇怪,gulp不是通过binary pipe方式执行的么,这里为什么不需要通过管道了呢?
 
 
看了github上的文档才知道,它会把pipe管道转换成stream流的形式。
 
 
这样的话,每次都使用stream-combiner2的方式,用combiner.obj([执行内容]);的方式,就不用每一个步骤都建立管道再走管道了,感觉瞬间很方便,有木有
 
 
 
 
 
 
 
 
 
 
 
 
 
 

gulp简单使用小记的更多相关文章

  1. 基于流的自动化构建工具------gulp (简单配置)

    项目上线也有一阵子,回头过来看了看从最初的项目配置到开发的过程,总有些感慨,疲软期,正好花点时间,看看最初的配置情况 随着前端的发展,前端工程化慢慢成为业内的主流方式,项目开发的各种构建工具,也出现了 ...

  2. 前端自动化构建工具Gulp简单入门

    昨天听同事分享了Gulp的一些简单使用,决定自己也试一试. 一.安装 gulp是基于nodejs的,所以要先下载安装node(直接搜node,在官网下载就好了) 1.全局安装gulp npm inst ...

  3. Realm简单使用小记

    一.项目环境:纯OC 载入Realm: pod 'Realm' 二.为了方便调用可以写一个Realm类的分类 #import <Foundation/Foundation.h> #impo ...

  4. Gulp 简单的开发环境搭建

    //获取gulp //require()是 node (CommonJS)中获取模块的语法 var gulp=require('gulp'); //获取gulp-concat模块(用于合并文件):np ...

  5. 自动化构建工具gulp简单介绍及使用

    一.简介及安装: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉快 ...

  6. vue + webpack + gulp 简单环境 搭建

    一.物料准备 废话不多说,直接上 package.json { "name": "vwp", "version": "1.0.0& ...

  7. Gulp简单应用

    1.创建一个工程,在webstorm控制台   cnpm install --save-dev gulp      cnpm install --save-dev gulp-concat        ...

  8. gulp简单使用

    1.安装gulp,由于某些在下不能解决的原因,故使用gulp 3.9.1版本 安装命令: npm install gulp@3.9.1 注意不要直接使用 : npm install gulp 安装,直 ...

  9. MagicalRecord简单使用小记

    一般采用pod安装,导入框架 #import <CoreData+MagicalRecord.h> - (BOOL)application:(UIApplication *)applica ...

随机推荐

  1. 13个JavaScript图表(JS图表)图形绘制插件

    转自:http://blog.jobbole.com/13671/ 1. Flash 过去是最佳解决方案,但很多人多在从那迁移: 2. 现代浏览器及其更强大的计算能力,使其在转化绘制实时数据方面的能力 ...

  2. windows7旗舰版下载出现蓝屏代码50怎么办?

    windows7旗舰版下载出现蓝屏代码50怎么办?电脑蓝屏BCCode:50. 问题事件名称: BlueScreen OS 版本: 6.1.7601.2.1.0.256.1 区域设置 ID: 2052 ...

  3. C# 中的关键字之:base、this 【转】

                                                                                 C# 中的关键字之:base.this. ba ...

  4. MTK Android4.0.3 ICS 添加缅甸语Myanmar

    最近几个项目需要添加缅甸语,借助网络资源,同时结合自身实践,成功添加缅甸语,现分享经验如下. 一. 前期工作: 准备Myanmar字库,下载地址:http://www.myordbok.com/mya ...

  5. Flash Recovery Area

    1. 设置闪回恢复区 闪回恢复区主要通过3个初始化参数来设置和管理 db_recovery_file_dest:指定闪回恢复区的位置db_recovery_file_dest_size:指定闪回恢复区 ...

  6. document load 与document ready的区别

    页面加载完成有两种事件 1.load是当页面所有资源全部加载完成后(包括DOM文档树,css文件,js文件,图片资源等),执行一个函数 问题:如果图片资源较多,加载时间较长,onload后等待执行的函 ...

  7. 安卓模拟器创建和使用SD卡的方法

    安卓模拟器创建和使用SD卡的方法: 创建一个SD卡镜像文件 打开cmd,进入Android SDK安装路径下的tools目录下,输入如下命令:mksdcard 1024M sdcard.img 该命令 ...

  8. hibernate初体验

    简介: Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使 ...

  9. blog开篇

    本来是写java学习开篇的,现在就把它改为博客开篇吧. 其实一直都想着记录一下自己学习的过程,或者说是借口,一直在忙,也从重庆辗转到广州,又从广州辗转到天津了,又一个新阶段开始了,猴年马月都到了,哈哈 ...

  10. ThinkPHP框架下基于RBAC的权限控制模式详解

    这几天因为要做一个项目,需要可以对Web应用中通用功能进行封装,其中一个很重要的涉及到了对用户.角色和权限部分的灵活管理.所以基于TP框架自己封装了一个对操作权限和菜单权限进行灵活配置的可控制模式. ...