gulp是最近火起来的前端构建工具,大有赶超grunt之势,它和grunt这种构建工具比较像。

grunt是写一个Gruntfile.js来写配置代码,gulp则是写一个gulpfile.js来写配置代码。然后通过命令grunt或者gulp来构建项目,

前端现在三足鼎立的构建工具(不算比较老的ant,yeoman),非fis,grunt,gulp莫属了。

fis是用起来最简单的。都不用自己写什么配置文件。直接执行几个命令就能把所有东西给你嗖嗖嗖的弄好。难易程度一颗星。

grunt相对来说是最复杂的。Gruntfile.js的配置文件还是有点麻烦,所有代码都放在在exports函数里面。

等到用了gulp之后你会有一种惊艳的感觉,因为gulp的语法太简洁了。感觉一句多余的代码都没有。或者说它只让你写必要的代码。用gulp官网的话说,这个叫做“代码优于配置”。而且它里面引用所有的插件都是用的模块化,自己还支持promise。这一切会让前端开发感觉逼格更高,用起来更加爽。

grunt的配置文件截图:

gulp的配置文件:

gulp还让人有惊喜的一点是构建项目的时间速度快。它充分利用了node流,优化(缩减)了很多对IO的操作。这样做的好处是你会发现gulp构建的时候每个Tast几乎都是ms级的,用了这个以后你会感觉grunt构建时候的速度原来那么慢。个人感觉同样的项目gulp应该只有grunt 1/5的速度吧。

这三个工具都是基于node和npm的。

node也是这两年前端的新星,它的的高并发处理能力大概也只有nginx能比肩了。虽然一个是程序语言,一个是web服务器,两者并不是同一物种,但它们最大的优点其实殊途同归,都是相比较其它语言来说优秀的高并发处理能力。

再说npm。说到npm,我印象最深刻的反而是它的缺点,用它安装东西的时候超级慢,而且由于npm的服务器是在 国外,所以它的网络很不稳定,有的时候你会发现中午12点开始用npm安装一个插件,结果到了下午三四点还没有装上。

还好,淘宝弄了个npm的镜像cnpm。https://npm.taobao.org/ 用这个安装感觉一开始还是有点慢。但是过了半个钟头左右吧就能感觉到安装速度的明显提升。

好吧,回到主题gulp,讲讲它的安装和使用吧。

gulp的中国官网

gulp系列文章一 fis vs grunt vs gulp,为什么要是gulp呢?的更多相关文章

  1. 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gulp专家

    系列目录 前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gul ...

  2. 前端构建大法 Gulp 系列 (二):为什么选择gulp

    系列目录 前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gul ...

  3. 前端构建大法 Gulp 系列 (四):gulp实战

    前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gulp专家 前 ...

  4. 前端构建大法 Gulp 系列 (一):为什么需要前端构建

    系列目录 前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gul ...

  5. 前端构建大法 Gulp 系列

    参考: 前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gulp ...

  6. 是时候搁置Grunt,耍一耍gulp了

    也算是用了半年Grunt,几个月前也写过一篇它的入门文章(点此查看),不得不说它是前端项目的一个得力助手.不过技术工具跟语言一样日新月异,总会有更好用的新的东西把旧的拍死在沙滩上(当然Grunt肯定没 ...

  7. 基于DDD的现代ASP.NET开发框架--ABP系列文章总目录

    ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视频:ABP架构设计交流群-7月18日上海线下交流会的内容分享(有高清录像视频的链接) 代码自动生成: ...

  8. 【NLP】蓦然回首:谈谈学习模型的评估系列文章(一)

    统计角度窥视模型概念 作者:白宁超 2016年7月18日17:18:43 摘要:写本文的初衷源于基于HMM模型序列标注的一个实验,实验完成之后,迫切想知道采用的序列标注模型的好坏,有哪些指标可以度量. ...

  9. 【微信小程序开发•系列文章六】生命周期和路由

    这篇文章理论的知识比较多一些,都是个人观点,描述有失妥当的地方希望读者指出. [微信小程序开发•系列文章一]入门 [微信小程序开发•系列文章二]视图层 [微信小程序开发•系列文章三]数据层 [微信小程 ...

随机推荐

  1. 在MFC中,使用控制台Console输出调试信息

    1.在MFC的应用类的InitInstance()函数里添加: AllocConsole(); 有时候需要调整这行代码在InitInstance函数的位置 2.继续添加以下代码 freopen(&qu ...

  2. golang在linux下的开发环境部署[未完]

    uname -a Linux symons_laptop 4.8.2-1-ARCH #1 SMP PREEMPT Mon Oct 17 08:11:46 CEST 2016 x86_64 GNU/Li ...

  3. excel 作图中次横坐标及次纵坐标的调试,以及excel自定义轴标签的步骤方法

    在工作中除了要做一些常用的图表之外,不时还会有一切奇怪图表的制作需求. 今天的内容主要记录的是如何对excle图表的次横坐标及次纵坐标进行调试,以及如何自定义调整轴标签 首先看下如何做次纵坐标,工作中 ...

  4. 你注意了么?int与Integer的区别

    上次做项目时遇到了一个小问题. 我把javabean中的custid属性定义为int类型,当然与数据库中相应类型是一致的,而且在hibernate文件中配置时专门设置了not-null="f ...

  5. web学习笔记

    最近把web方面的学习笔记都放在了github的一个仓库里,这是链接:https://github.com/williamking/web-studying-note

  6. 转 Jmeter之Bean shell使用(一)

    一.什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanS ...

  7. Java开发的命名规范

    Java的命名规范 定义规范的目的是为了使项目的代码样式统一,使程序有良好的可读性,便于日后维护. 1.工程的命名(全用小写字母) 工程的命名一般全用小写字母,单词之间用下划线“_”隔开. 2.包的命 ...

  8. RandomAccessFile使用小结

    本文是基于Linux环境运行,读者阅读前需要具备一定Linux知识 RandomAccessFile是Java输入/输出流体系中功能最丰富的文件内容访问类,既可以读取文件内容,也可以向文件输出数据.与 ...

  9. 用java代码把docx转换成pdf文件

    import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.nio ...

  10. iOS NSUserDefaults 存放位置

    NSUserDefaults以plist文件的形式存放在app目录下的Library文件夹中.