【前端开发】一篇文章让你搞懂前端自动化构建工具gulp,助你拿下面试

导语

最近在整理自己这几年的学习工作的笔记(大学的时候笔记偏多,工作的时候很少,只怪自己太懒了)。我本来是学web前端开发的,后来慢慢就转到现在的小游戏开发了(cocoscreator),只能说造化弄人!然后我发现大家对我前天整理的笔记“50个前端开发小技巧总结,提升你的竞争力,抓住金三银四的小尾巴”阅读比较多,所以今天再分享下之前学习前端自动化构建工具gulp的一个笔记,让大家一篇文章读懂gulp。
因为我从前端转到小游戏开发的,后面会继续分享一些,前端和游戏开发这一块的内容,希望喜欢的朋友可以关注一下,一起交流,一起学习,毕竟我一直喜欢且信奉的一句话是“学无前后,达者为师”。
ok。废话不多说了,我们步入正题:

1.什么是gulp,gulp有什么用

Gulp是一款基于Node.js开发的“简单高效”的前端自动化构建工具(http://gulpjs.com/);
前端自动化构建工具主要解决以下一些问题前端开发问题(说的简单一点就是解决前端开发中代码调试和部署的问题):
1.代码压缩(CSS、JavaScript)
2.文件合并(CSS、JavaScript)
3.图片压缩优化
4.文件复制、移动
5.文本替换
6.更改页面文件引用路径、MD5戳、时间戳
7.前端模板引擎
8.CSS预处理器编译(SASS、LESS等)
9.前端模块化
10…(不知道还有没有,欢迎大家补充)

2.与其他工具的对比

和Gulp同类的工具还有很多,例如Grunt、FIS、Mod.js、Ant等等,但是最具代表性和最流行的还是Grunt和Gulp,这两个工具安装大同小异,主要是配置文件上有很大的不同:
Grunt的配置文件编写难度较高、Gulp配置语法则要简单一些,当然如果要配置一个大型项目的话,都有些复杂。Grunt在构建过程中会产生一些临时文件,A任务处理完会生成一个临时文件,B任务会读取这个临时文件,继续做自己的操作,然后再生成一个临时文件,给C任务用,以此类推,其它任务可能会基于临时文件再做处理并生成最终的构建后文件;Gulp的优势就是利用Node.js中流的方式进行文件的处理,通过管道将多个任务和操作连接起来,因此只有一次I/O的过程,处理速度要更快。

3.gulp的安装:

下面流程是我刚学gulp的时候安装流程(三四年前了,一不小心暴露自己老大爷的年纪了),现在不知道gulp的安装流程有没有改变,所以就当给大家参考一下吧,我建议大家实际操作下会更熟悉,如果大家有最新的安装流程的说明,欢迎联系我,我这边再做出相应的改动,先谢谢各位了。
1.安装Node.js(https://nodejs.org),Gulp是基于Node.js构建的
2.打开命令行工具(window下的dos、mac下的Terminal)
3.执行 npm install -g cnpm --registry=https://registry.npm.taobao.org 切换到淘宝npm镜像(npm下载速度好慢),用cnpm代替npm命令,详细见http://npm.taobao.org/
4.执行 cnpm install gulp -g 安装Gulp到全局
5.命令行里切到项目目录下,例如D:\gulp ,执行d: 后 再执行 cd gulp
6.执行 cnpm init 依次填写项目信息后会在根目录创建一个package.json的文件,用于管理依赖,如果不懂填写信息的意思就一路回车键即可
7.执行 cnpm install gulp --save-dev 将Gulp安装到项目根目录,–save-dev意思是将要安装的Gulp作为项目依赖保存到package.json中
8.不要关闭命令行工具,然后在项目根目录新建一个Gulpfile.js的文件
配置:
打开Gulpfile.js后,写入以下代码

var gulp = require('gulp');
gulp.task('default', function() {
  console.log('hello,I'm gulp!');
});

然后在命令行工具中执行gulp,如果输出了hello,I’m gulp!表示任务执行成功了。

4.API简介:

Gulp主要就4个api,分别是gulp.task()定义任务gulp.src()获取内容gulp.dest()输出内容gulp.watch()监听内容变化。为什么只有这几个api而已?那如何做到文章开头的那些功能呢?看看Gulp的构建流程就知道了:
首先通过task方法定义一个任务,任务中用src方法获取到要处理的文件,然后把获取到的文件内容交由第三方插件处理,接着再通过dest方法输出到指定目录(像一条管道一样),我们还可以通过wacth方法让某个文件内容变换时自动执行指定的任务。由此可以看出Gulp本身的功能是十分简单的,真正强大的是这之间处理内容的插件,Gulp提供了各式各样的插件,可以参见gulp插件,具体api也可以查阅文档gulpAPI

尾语

学无前后,达者为师。欢迎大家一起学习,一起交流。最后,祝大家,身体健康,事业顺利,家庭美满!希望大家如果觉得这篇文章还不错的,麻烦给个赞,给个关注,再次感谢,我们下篇文章见!

猜你喜欢

转载自blog.csdn.net/sinat_35299495/article/details/105754546