这几天简单的研究了一下gulp的用法,gulp对于初学者来说还是很友好的。

官方给出gulp的优点如下:

1.通过代码优于配置的策略,Gulp 让简单的任务简单,复杂的任务可管理。

2.Gulp 严格的插件指南确保插件如你期望的那样简洁高质得工作。

3.利用 Node.js 流的威力,你可以快速构建项目并减少频繁的 IO 操作。

4.通过最少的 API,掌握 Gulp 毫不费力,构建工作尽在掌握:如同一系列流管道。

gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用她,我们不仅可以很愉快的编写代码,(虽然在涉及到Sass问题都让我并不愉快)而且大大提高我们的工作效率。gulp是基于Nodejs的自动任务运行器, 她能自动化地完成 javascript/coffee/sass/less/html/image/css 等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。在实现上,她借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入,使得在操作上非常简单。

第一步:gulp的安装配置

1.安装node  确定是否安装了node (确认是否安装 node -v)

2.安装gulp  npm install -g gulp,创建一个工作目录

3.npm init  初始化

4.npm install gulp —save-dev  添加到项目依赖

5.配置gulpfile.js  var gulp = require('gulp');

第二步:创建任务

gulp.task(‘hello’,function(){ … });

第三步:连接多个任务

gulp.task(‘taskName’,[‘task1’,’task2’]);

Gulp基础知识点

gulp.src()   找到要处理的文件

通配符路径匹配示例:

“src/a.js”:指定具体文件

“*”:匹配所有文件

例:src/*.js(包含src下的所有js文件)

“**”:匹配0个或多个子文件夹

例:src/**/*.js(包含src的0个或多个子文件夹下的js文件)

“{}”:匹配多个属性

例:src/{a,b}.js(包含a.js和b.js文件)

src/*.{jpg,png,gif}(src下的所有jpg/png/gif文件)

“!”:排除文件

例:!src/a.js(不包含src下的a.js文件)

gulp.pipe()通过管道去处理文件(在管道里可以去指定功能)

gulp.dest()将处理好的文件放在指定的地方

gulp.watch() 用于监听文件变化,文件一修改就执行指定任务

插件使用

1、下载插件,添加到依赖项;

npm install 插件名 --save-dev

2、加载插件   gulp.require('插件名称');

编译sass:gulp-sass

.pipe(sass({ outputStyle: 'expanded' }))

创建本地服务:gulp-connect

gulp.task('server',function(){
    connect.server({
        root:'dist'

})
});

实时刷新:liveReload

gulp.task('watch',function(){
    gulp.watch('index.html',['copy-html']);//一旦index.html变化,执行copy-html
    gulp.watch('src/sass/*.scss',['sass']);
});
gulp.task('copy-html', function () {
    gulp.src('index.html')
        .pipe(gulp.dest('dist'))//扔到disk里
        .pipe(connect.reload());//然后重新加载
});
gulp.task('server',function(){
    connect.server({
        root:'dist',
        livereload:true//实时刷新
    })
});

合并文件

gulp.task('concat',function(){
    gulp.src('src/js/*.js').pipe(concat('index.js'))
        .pipe(gulp.dest('dist/js'))
});

最小化:

最小化js:gulp-uglify

最小化css:gulp-minify-css

最小化图片:gulp-imagemin

重命名:

文件重命名gulp-rename

.pipe(rename('index.min.js'))

gulp的基本用法的更多相关文章

  1. gulp详细入门教程

    本文链接:http://www.ydcss.com/archives/18 gulp详细入门教程 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优 ...

  2. 前端打包构建工具gulp快速入门

    因为之前一直有人给我推荐gulp,说他这里好哪里好的.实际上对我来说够用就行.grunt熟悉以后实际上他的配置也不难,说到效率的话确实是个问题,尤其项目大了以后,目前位置遇到的项目都还可以忍受.不过不 ...

  3. gulp如何使用

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

  4. Gulp如何编译sass

    Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务: 1.搭建web服务器 2.文件保存时自动重载浏览器 3.使用预处理器如Sass.LESS 4.优化资源,比如压缩CSS.JavaScr ...

  5. 【前端】在Gulp中使用Babel

    Install $ npm install --save-dev gulp-babel babel-preset-es2015 用法1: const gulp = require('gulp'); c ...

  6. gulp入门教程(详细注解)

    本文转载自http://www.ydcss.com/archives/18 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很 ...

  7. gulp详细入门教程-gulp demo download

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

  8. 是什么时候开始学习gulp了

    转自:http://www.ydcss.com/archives/18 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重 ...

  9. [转]gulp构建前端工程

    摘要: Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务: 搭建web服务器 文件保存时自动重载浏览器 使用预处理器如Sass.LESS 优化资源,比如压缩CSS.JavaScript. ...

随机推荐

  1. 再学习之MyBatis

    一.框架基本介绍 1.概念 支持普通SQL查询.存储过程和高级映射,简化和实现了Java 数据持久化层的的开源框架,主要流行的原因在于他的简单性和易使用性. 2.特点 持久层 .ORM(对象关系映射) ...

  2. 浅谈如何使用swfupload工具与struts2无缝相接

    笔者在网上查找流行的上传组件,swfupload引入眼帘,受到JavaEye的一篇文章启发,历时三天,加以研究,现将心得奉上,献礼JavaEye. 由于笔者才疏学浅,经验匮乏,介绍不深入,仅供菜鸟参考 ...

  3. 微软Connect(); 2017大会梳理:Azure、数据、AI开发工具

    在今天召开的 Connect(); 2017 开发者大会上,微软宣布了 Azure.数据.AI 开发工具的内容.这是第一天的 Connect(); 2017 的主题演讲. 在开场视频中霍金又来了.你记 ...

  4. php 例子 如何转换ISO8601为 utc时间

    //firstpowertime "2017-01-02T13:22:22" 获取时间$firstpowertime=$list[$i]['firstpowertime'];//判 ...

  5. 解决webstorm启动索引文件卡死问题

    问题 当目录下的文件数量较大时,用webstorm打开会出现卡顿,甚至卡死现象,例如:node_modules目录 解决方案 不让webstorm索引该目录下的文件步骤:1.node_modules目 ...

  6. 《天书夜读:从汇编语言到windows内核编程》六 驱动、设备、与请求

    1)跳入到基础篇的内核编程第7章,驱动入口函数DriverEnter的返回值决定驱动程序是否加载成功,当打算反汇编阅读驱动内核程序时,可寻找该位置. 2)DRIVER_OBJECT下的派遣函数(分发函 ...

  7. [转载] PHP 线程,进程和并发

    转载自http://chenpeng.info/html/3021 进程 进程是什么?进程是正在执行的程序:进程是正在计算机上执行的程序实例:进程是能分配给处理器并由处理器执行的实体. 进程一般会包括 ...

  8. css基础-选择器

    CSS选择符(选择器) 一.各类选择器 选择符表示要定义样式的对象,可以是元素本身,也可以是一类元素或者制定名称的元素. 常用的选择符有十种左右 类型选择符,id选择符,class选择符,通配符,群组 ...

  9. 69、django之Form组件

    本篇导航: 小试牛刀 Form类 常用选择插件 自定义验证规则 初始化数据 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次 ...

  10. intel服务器cpu命名规则

    我们以E3.E5.E7系列进行一个详细解析.首先,Intel E3.E5.E7代表了3个不同档次的至强CPU,至强"E系列"的这种命名方式有些类似桌面上的Core i3,i5,i7 ...