为了账号安全,请及时绑定邮箱和手机立即绑定

gulp插件开发中this.push主要作用是什么?

gulp插件开发中this.push主要作用是什么?

烙印99 2018-08-09 10:09:19
求问:在开发一个gulp插件时发现是否调用this.push(file)对gulp.src取得的文件结果有影响那么this.push(file)的主要作用是什么?为什么会影响gulp.src的结果?我直接gulp.src('./output/**/*.js')    pipe(myPlugin());myPlugin里module.exports = function (options) {    return through.obj(function (file, enc, cb) {              console.log(file.path);                  // 这货是否存在影响了gulp.src()的结果,前面log的文件数量不一致         this.push(file);                  cb();     };      };
查看完整描述

1 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

文档是这么说的

https://img1.sycdn.imooc.com//5ba9e04600016ed517340104.jpg

我们现在假设你的./output/**/*.js匹配到了两个文件,分别是:./output/a.js./output/b.js

当你执行如下代码时:

gulp.src('./output/**/*.js')
    .pipe(myPlugin())
    .pipe(gulp.dest('dist'));

./output/a.js./output/b.js都会被拷贝到dist目录下。

那么如果你的myPlugin里没有了this.push(file),你再试试,将不会有任何内容传递给gulp.dest('dist'),也就是说,没有任何文件被拷贝到dist目录了。


查看完整回答
反对 回复 2018-09-25
  • 1 回答
  • 0 关注
  • 682 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信