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. Web前端开发好学吗?谈谈一位学姐的前端工程师之路

    我的第一篇博客....... 我是一名工科女,因高考失利与理想的院校擦肩而过,从而选择了机电专业.毕业后找工作时才发现机电专业的工作并不太适合我.我的父母也支持我转专业求职,但这个过程有时会让我迷茫. ...

  2. 理解Vue中的Render渲染函数

    理解Vue中的Render渲染函数 VUE一般使用template来创建HTML,然后在有的时候,我们需要使用javascript来创建html,这时候我们需要使用render函数.比如如下我想要实现 ...

  3. 单点登录,session,jsonp(待更新)

    单点登录理解: 单点登录系统设计: ajax跨域:

  4. Android项目实战(三十九):Android集成Unity3D项目(图文详解)

    需求: Unity3D 一般用于做游戏 而且是跨平台的.原本设计是Android 应用端A(原生开发)进行一些业务处理,最后由A 打开Android 应用端B(Unity3D 游戏开发)进行游戏操作. ...

  5. 微信小程序教学第二章:小程序中级实战教程之预备篇 - 项目结构设计 |基于最新版1.0开发者工具

    iKcamp官网:http://www.ikcamp.com 访问官网更快阅读全部免费分享课程:<iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享>. ...

  6. Platt SMO 和遗传算法优化 SVM

    机器学习算法实践:Platt SMO 和遗传算法优化 SVM 之前实现了简单的SMO算法来优化SVM的对偶问题,其中在选取α的时候使用的是两重循环通过完全随机的方式选取,具体的实现参考<机器学习 ...

  7. SpringMVC框架(三)from标签(转)

    原文地址:http://blog.csdn.net/kutim/article/details/46682547 spring表单标签   <%@taglib uri="http:// ...

  8. VMware的一些总结

    一.虚拟主机联网的三种方式: 1.仅主机(Host Only),虚拟主机只能与宿主机联网通信,无法访问外网和宿主机所在局域网的其它主机. 2.桥接(Bridge),在桥接模式下,虚拟主机就像是宿主机所 ...

  9. JVM类加载机制以及类缓存问题的处理

    一:JVM类加载机制 和 类缓存问题的处理 当一个java项目启动的时候,JVM会找到main方法,根据对象之间的调用来对class文件和所引用的jar包中的class文件进行加载(其步骤分为加载.验 ...

  10. ffmpeg常用命令---转

    1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i input_file -acod ...