码迷,mamicode.com
首页 > 其他好文 > 详细

gulp 入门使用指南(未完)

时间:2016-10-06 22:18:45      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:

其实网上有一大把入门指南了,官网上也讲得很清楚。怎么安装,有哪些方法,我在网上已经看到很多很多很多了。

可是我还是很懵逼。不能理解为什么要使用这些工具,不知道学习了这些方法该怎么用,在哪里用。光看文档是学不会的,得有实战!实战啊!我感受不到这些新技术的好处。所以最初学习的时候,我迫切地渴望能有一个人,一篇文章,能通过一个具体的项目来指引一下我。然鹅并没有。(在小公司的坏处,没有指导,突破不了,还懒)

现在我对gulp也还是懵懵哒。只能慢慢写咯。


几乎每一个前端工具都对应了它自己的配置文件,nodejs 有 package.json,webpack 有 webpack.config.js,gulp 则是 gulpfile.js。

你要用它,你就得新建配置文件,因为你要在里面写配置啊。所以必须在根目录下先新建一个 gulpfile.js 文件。

一、几个方法

1. gulp.task()  // gulp的配置文件gulpfile.js里可以定义多个任务,该方法就是用来定义任务的

var gulp = require("gulp");  
gulp.task("default", function () {
   //这里是具体要执行的任务代码 ,我写的很简单的,就在控制台打印
  console.log("hello");
})

默认任务名是 default,执行该任务:

在终端里进入你的项目根目录,确保你已经 npm install gulp --save-dev 将gulp安装在本地了(全局和本地分得清吧?),然后在终端里输入 gulp default,(default可以省略)会发现终端打印了 hello.

 

你也可以执行别的任务。再定义一个任务叫作 mytask:

gulp.task("mytask", function () {
    //将根目录下所有的css文件全部挪到build文件夹下
    gulp.src(["./*.css"]).pipe(gulp.dest("./build"));
})

这个任务是为了整理项目结构。

有时候因为多人合作问题,或者新手不懂乱放文件,或者偷懒,我们的项目结构可能会很乱,比如有的css文件放在根目录下,有的放在a文件夹里,有的放在b文件夹里。这不利于我们更好地管理项目,但是人工一个个去挪文件实在不人性化,于是乎,我们就借 gulp 来帮我们处理这些机械又费时的工作。

终端执行 gulp mytask,就会发现你的项目底下多了一个build 文件夹,里面就是之前项目根目录下所有css文件(此时根目录下的css文件还没被删掉哦,所以这只能相当于复制,而不是剪切)

除了这个任务,gulp还可以帮我们干很多事情,最常用的应该就是压缩和合并代码了吧。我就不细说了。

 

2. gulp.pipe()  //管道,传输文件流

现在看不懂没关系,反正大概就是一个桥梁的作用,帮助文件流从一个地方传到另一个地方。

3. gulp.dest()  //写入文件

4. gulp.src()  //读取文件流

该 API 在上一段代码里已经出现过了,作用就是用来读文件的。通过这个方法,我们可以获取该文件路径、文件名、内容等信息,即文件流。但是 gulp.src()获取的并不是原始文件流,而是虚拟文件流,只是它里面存储了原始文件流的信息而已。

这个文件流就好比一捧水。你可以对水进行很多操作,加盐、加糖、烧开什么的。然后通过一个管道 gulp.pipe() 倒到别的地方去。

还是不懂拿来干嘛??

比如:还是以上一个例子为例,我读取了根目录下所有的css文件,然后全部扔进了build文件夹下。可是css文件太多,而且每个文件的内容又很少,看起来就不舒服啊!那不如合并这些css文件,只生成一个css文件扔进build文件夹下,岂不是更好?

所以,我们用 gulp.src() 读取根目录下所有的css,得到了一个虚拟文件流,我们姑且认为反正就是一捧水,然后通过什么什么代码,将这些css进行合并到一起,并定义一个新的文件名。写到这里大家不要忘啦,前面提到过,这里还是虚拟文件流。我们用 gulp.pipe() 管道将它传输到现实世界里去。但是世界之大,还差一个容身的地方,我们就把传过来的东西用 gulp.dest() 写入到特定的文件夹里。

Done. 不知道我讲清楚了没?

 

未完,明天写。

 

gulp 入门使用指南(未完)

标签:

原文地址:http://www.cnblogs.com/sarahshine/p/5934665.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!