1、基本介绍

  gulp.js是一个自动化构建工具,是自动化项目的构建利器。可以对网站的资源进行优化,将开发过程中一些重复的任务通过执行命令自动完成。这样能很大的提高我们的工作效率。

  gulp.js是基于Node.js构建的,利用Node.js流可以快速的构建项目,例如能自动化地完成 javascript/coffee/sass/less/html/image/css 等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定等。

2、自动化构建工具

  grunt : 也是基于Node.js的自动化任务运行器,它在I/O过程(计算机在存储器上读取数据和写入数据的过程)中会产生一些中间态的临时文件,基于临时文件再做处理生成最终的构建后的文件。grunt拥有数量庞大的插件,几乎任何你所要做的事情都可以实现。

  grunt工作方式是以文件为媒介来运行它的工作流的,比如执行完一项任务后,会把结果写入到一个临时文件中,然后可以在这个临时文件内容的基础上执行其它任务,执行完成后又把结果写入到临时文件中,然后又以这个为基础继续执行其它任务...就这样反复下去。

首先 grunt和gulp都是基于Node.js的自动化构建工具,但是它们还是很大区别的。grunt和gulp的比较:

  a.使用性:gulp比grunt更简洁,采用代码优于配置策略,维护gulp更像是写代码,而grunt更像是在写配置

  b.构建效率:gulp比grunt更高效,gulp利用流的方式处理文件,通过管道将多个任务和操作连接起来,只有一次I/O的过程,而grunt是通过I/O过程产生一些临时文件,基于临时文件再做处理。

  c.构建质量:gulp比grunt构建质量更高,gulp的每个插件只完成一个任务,分工明确,各个功能通过流进行整合并完成复杂任务,促进插件的可重用性。而grunt一个插件可以实现多个功能。

  d.易学程度:gulp比grunt更容易学,gulp的核心api只有5个,然后通过管道流组合成自己想要的任务。

  FIS3 : 是面向前端的工程构建工具。解决前端工程中性能优化、资源加载(异步、同步、按需、预加载、依赖管理、合并、内嵌)、模块化开发、自动化工具、开发规范、代码部署等问题。这是百度的前端团队前端工程化经验的总结。gulp轻量级,想要实现什么功能,就安装什么插件;而FIS3必须以项目的形式运行,内置集成了大部分常用的插件,拥有一套比较强大的解决方案。

  webpack:是一种模块化的解决方案,是文件打包工具。和glup/grunt没有可比性,只是有相似的功能。它可以看作模块打包机,通过分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。

  webpack的工作方式把项目当做一个整体,通过一个给定的主文件,Webpack将从这个文件开始找到你的项目的所有依赖文件,使用loaders处理它们,最后打包为一个(或多个)浏览器可识别的JavaScript文件。

  每种工具都有其存在的意义,各有各的优势和缺点,我们要结合我们项目的实际情况和需求选择合适的构建工具。结构简单的中小型项目用gulp实现基本操作就足够了,下面主要介绍gulp的使用。

3.gulp的安装

第一步:安装Nodejs;首先,gulp是基于Node.js构建的,所以首先要安装Nodejs,执行命令行 node  -v,查看版本号,查看是否已安装Nodejs;

  

第二步:全局安装gulp;使用npm(包管理工具)安装插件,先全局安装gulp,执行命令 npm install gulp -g (-g表示全局安装),全局安装为了可以运行命令行,执行gulp任务;

第三步:新建package.json文件;在你项目的根目录下新建package.json文件(注意里面不能写注释) 执行命令 npm init

  

第四步:本地安装gulp插件; 在你的项目内安装gulp插件,执行命令 npm install gulp --save-dev,本地安装是为了脚本依赖,调用gulp插件功能;

  

第五步:新建gulpfile.js文件(配置文件),文件名不能更改,例如在里面执行简单的任务;

  

第六步:运行gulp

  

前端构建工具gulp之基本介绍的更多相关文章

  1. 前端构建工具gulp介绍

    2016年3月3日 10:46:08     晴 前端构建工具gulpjs的使用介绍及技巧 gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简 ...

  2. 前端构建工具gulp使用

    前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中文文档 https://g ...

  3. (转载)前端构建工具gulp使用

    前端构建工具gulp使用 前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中 ...

  4. (转)前端构建工具gulp入门教程

    前端构建工具gulp入门教程 老婆婆 1.8k 2013年12月30日 发布 推荐 10 推荐 收藏 83 收藏,20k 浏览 本文假设你之前没有用过任何任务脚本(task runner)和命令行工具 ...

  5. 前端构建工具gulp

    前端构建工具gulp使用   前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gul ...

  6. 前端构建工具gulp使用 (转)

    http://www.cnblogs.com/starof/p/5194622.html 前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 ...

  7. 前端构建工具gulpjs的使用介绍及技巧

    gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非常简单,学习起来很容易,而且gulpjs使用的是nodejs中stream来读取和操作数据,其速 ...

  8. [转载]前端构建工具gulpjs的使用介绍及技巧

    转载地址:http://www.cnblogs.com/2050/p/4198792.html gulpjs是一个前端构建工具,与gruntjs相比,gulpjs无需写一大堆繁杂的配置参数,API也非 ...

  9. 前端构建工具 Gulp.js 上手实例

    在软件开发中使用自动化构建工具的好处是显而易见的.通过工具自动化运行大量单调乏味.重复性的任务,比如图像压缩.文件合并.代码压缩.单元测试等等,可以为开发者节约大量的时间,使我们能够专注于真正重要的. ...

随机推荐

  1. mybatis中#和$符号的区别(转)

    mybatis做为一个轻量级ORM框架在许多项目中使用,因其简单的入门受到了广大开发者的热爱.在近期项目中再做一个相关的开发,碰到了#.$符号这样的问题,之前没怎么注意过,通过学习之后,有了点感悟,分 ...

  2. 这么说吧,java线程池的实现原理其实很简单

    好处 : 线程是稀缺资源,如果被无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,合理的使用线程池对线程进行统一分配.调优和监控,有以下好处: 1.降低资源消耗: 2.提高响应速度: 3.提高线 ...

  3. Bootstrap学习笔记(一)

    用Laravel编写了一段时间程序,选择了bootstrap作为前段框架,现在已经有一段时间了,抽空总结一下:     bootstrap是一个前端框架,所谓框架就是为满足特定需要在特定环境下提供的一 ...

  4. Python 集体智慧编程PDF

    集体智慧编程PDF 1.图书思维导图http://www.pythoner.com/183.html p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12. ...

  5. Swift tableview自带的刷新控件

    import UIKit class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { let ...

  6. Python学习日记:day7-----集合

    1.基础数据类型汇总补充 1,list: 在循环一个列表是,最好不能删除列表中的元素. 2,bool 空列表.int:0.空str.空dict.空set--->bool:false 其余为tru ...

  7. [转]winform 自动伸缩控件xpandercontrols 使用说明

    链接地址:http://blog.sina.com.cn/s/blog_b5b004920101f5h3.html

  8. springboot学习(一)——helloworld

    以下内容,如有问题,烦请指出,谢谢 springboot出来也很久了,以前零散地学习了不少,不过很长时间了都没有在实际中使用过了,忘了不少,因此要最近准备抽时间系统的学习积累下springboot,给 ...

  9. Docker(十):Docker安全

    1.Docker安全主要体现在如下方面 a)Docker容器的安全性 b)镜像安全性 c)Docker daemon安全性 2.安装策略 2.1 Cgroup Cgroup用于限制容器对CPU.内存的 ...

  10. lesson - 1 - IP /DNS /cat !$ /putty 知识扩充

    一.知识点扩充 1.嵌入式Linux 开发与运维 .安卓手机  .     Linux真正的用武之地是蓬勃发展的信息接入设备市 场.这些新兴的设备只有有限的内存,价格也只有几百美元,因此开发者需要新的 ...