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. Net Core中数据库事务隔离详解——以Dapper和Mysql为例

    Net Core中数据库事务隔离详解--以Dapper和Mysql为例 事务隔离级别 准备工作 Read uncommitted 读未提交 Read committed 读取提交内容 Repeatab ...

  2. APP之构架自己的webapi框架

    当我们学习到一定程度的时候,我们会想要去深入了解代码底层的东西,也更想拥有一个属于自己的框架.本文可能成为编写一个webapi框架的开端.有研究MVC框架的朋友会发现,mvc框架的路由MvcRoute ...

  3. 关于ubuntu下qt编译显示Cannot connect creator comm socket /tmp/qt_temp.xxx/stub-socket的解决办法

    今天在ubuntu下安装了qtcreator,准备测试一下是否能用,果然一测试就出问题了,简单编写后F5编译在gnome-terminal中出现 Cannot connect creator comm ...

  4. 单源最短路径(1):Dijkstra 算法

    一:背景 Dijkstra 算法(中文名:迪杰斯特拉算法)是由荷兰计算机科学家 Edsger Wybe Dijkstra 提出.该算法常用于路由算法或者作为其他图算法的一个子模块.举例来说,如果图中的 ...

  5. Jmeter+Ant+Jenkins接口自动化测试(二)_测试方案设计及jmeter脚本开发

    前言 根据之前部署好的测试环境,进行接口自动化测试的方案设计及Jmeter脚本开发.测试方案设计过程中采用了数据分离和对象分离等思路,因此直接通过特定的测试用例文档来驱动整个自动化接口测试的执行,相关 ...

  6. 【二十七】php之绘图技术(gd、jpgraph、短信随机验证码)

    1.绘图技术(GD库) 注意:使用该库,php.ini文件中的extension=php_gd2.dll必须是开启状态,不然无法使用 图片格式:目前网站开发常见的图片格式有gif,jpg/jpeg,p ...

  7. 安装MySQL时提示3306端口已被占用的解决方案

    之前安装过mysql,用的好好的,但是今天开启服务时报异常,无法启动.为省事,于是想到卸载重装,安装过程中发现3306已经被占用,这也是一开始服务无法启动的原因. 看到有人说用fport查看端口号,于 ...

  8. Java Serializable接口(序列化)理解及自定义序列化

      1 Serializable接口 (1)简单地说,就是可以将一个对象(标志对象的类型)及其状态转换为字节码,保存起来(可以保存在数据库,内存,文件等),然后可以在适当的时候再将其状态恢复(也就是反 ...

  9. 4、公司经营的业务来源 - CEO之公司管理经验谈

    公司经营的业务来源为公司的运作资金提供了帮助,一般来说,整个公司的领导层为公司的经营做管理,而业务员就为公司的业务提供来源,然后建设部为业务开展做建设. 一.总经理: 公司的总经理主要负责公司运作经营 ...

  10. 任务调度 -----> quartz 不同时间间隔调度任务

    Quartz Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简单或为运 ...