初入gulp的踩坑之旅

Posted 刘言and气功研究

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初入gulp的踩坑之旅相关的知识,希望对你有一定的参考价值。

初学gulp,掉进了几个坑。希望看了这篇文章能帮你躲开。


  1. 如何安装依赖

    安装好npm之后,就可以用命令npm install gulp-xxx --save-dev一个包一个包的安装了。这个命令会把依赖包自动下载到工程的node_modules目录下。这样require语句就可以找到包了。

    一个包一个包的安装太麻烦,怎么办?可以把所有的依赖包,写到

    package.json的devDependencies里。然后执行npm install --save-dev就可以把所有依赖包全部自动安装了。用npm init可以生成一个空白的package.json。

    安装依赖包的机制是NodeJs的,和gulp没有关系。所以gulp的文档是不太会将依赖是怎么来的,对于不熟悉NodeJs的人算是一个坑吧。

  2. 如何在src命令里面排除目录

    形如:gulp.src(['**/*',"!dist/","!dist/**/*"])

    关键在于不光要排除目录,还要把目录下的所有文件也排除。否则排除是不生效的。

  3. 如何让task串行执行

    让task1依赖于task2,可以保证task2在task1之前执行,但是并不能保证task2完全执行完task1才执行。如果task2是src+dest的复制任务的话,task1不等复制完成就启动的话,是不会得到正确结果的。

    让两个任务完全串行其实很简单,返回流对象就可以了。

        gulp.task('copy', function() {

            return gulp.src(['index.html']).pipe(gulp.dest('dist'));

        });

        至于加上了return返回了流对象就可以完全串行,我也不知道。大概是通过流对象可以判断出任务的执行状态吧。


最后入门的文章我推荐这一篇:http://www.cnblogs.com/2050/p/4198792.html


以上是关于初入gulp的踩坑之旅的主要内容,如果未能解决你的问题,请参考以下文章

vue中集成blockly的踩坑之旅

vue中集成blockly的踩坑之旅

快应用开发的踩坑之旅

我的踩坑之旅-跨域问题引发bug

美团热修复Robust的踩坑之旅-使用篇

Ubuntu搭建Hadoop的踩坑之旅