当前位置: 首页 > 面试题库 >

如何为gulp组成管道顺序?

景仲渊
2023-03-14
问题内容

我有一个共同的模式gulpfile.js

var rev         = require('gulp-rev');
var buffer      = require('gulp-buffer');

gulp.src.some_stuff
  .pipe(anotherStuff)
  .pipe(buffer()) // this line & 4 lines down
  .pipe(rev())
  .pipe(gulp.dest(options.dest))
  .pipe(rev.manifest({ path: 'manifest.json', merge: true }))
  .pipe(gulp.dest(options.dest)) // to this
  .pipe(extrastuff)

我想组成这5行,以便在几个吞咽的任务中重复使用它们在我的项目中。我怎样才能做到这一点?

我找到了multipipe包,但是它不支持将变量传递到新管道(您可以看到我需要传递options.dest新管道)。


问题答案:

用途lazypipe

var lazypipe = require('lazypipe');

function something(dest) {
  return (lazypipe()
   .pipe(buffer)
   .pipe(rev)
   .pipe(gulp.dest, dest)
   .pipe(rev.manifest, { path: 'manifest.json', merge: true })
   .pipe(gulp.dest, dest))();
}

gulp.src.some_stuff
  .pipe(anotherStuff)
  .pipe(something(options.dest))
  .pipe(extrastuff)


 类似资料:
  • 在角度分量的顶部有以下初始化。 在我的组件中的某个地方,我使用选择器对Ngrx存储进行以下调用,以获取可观测数据。所有这些都很好,我得到了我想要的数据。 我需要知道这个可观察的什么时候完成。我需要设置一个布尔值,当所有可观察到的数据都试图完成时,它将关闭加载指示器。这是通过Web服务完成的。 因为可观测的源来自其他地方,所以我无法挂起“完整”回调

  • 我需要重载jenkins函数来调试IDE中的管道脚本。 我是java/groovy等的新手。我将编写几百行脚本化管道。Groovy是基于java的。由于我是新手,我更喜欢函数名完成/建议和调试功能,在这里我可以一步一步地浏览这些行并查看vars中的内容。 我用groovy插件设置了一个EclipseLuna。这实际上是有效的=)!(对于最新的eclipse,插件还没有准备好)。调试也很酷! 但是特

  • 问题内容: 我有下表称为问题: 我只想选择每个询问者一次,如果有多个同名提问者,请选择ID最高的一个。因此,预期结果: 我使用以下查询: 我得到以下结果: 因此,它将选择遇到的第一个“鲍勃”,而不是最后一个。 谢谢 问题答案: 如果要为每一个添加最后一个,则应使用聚合函数: 之所以得到不寻常的结果,是因为MySQL使用了一个扩展名,该扩展名允许未选择列表中的项进行汇总,并且不包含在GROUP BY

  • 我有以下称为问题的表: 我想选择每个asker只一次,如果有多个asker具有相同的名称,选择最高的ID之一。所以,预期的结果: 我使用以下查询: 我得到以下结果: 它选择遇到的第一个‘鲍勃',而不是最后一个。

  • 问题内容: 我正在使用大量的fortran库来进行一些数学计算。因此,numpy中的所有数组都必须是 Fortran-contiguous的 。 目前,我使用numpy.asfortranarray()完成此操作。 我的问题是: 这是一种告诉numpy数组应该以fortran样式存储的快速方法还是有一种更快的方法? 是否可以设置一些numpy标志,以使创建的每个数组都具有fortran风格? 问题

  • 问题内容: 我开始使用Jenkins声明式管道。现在,我希望具有与Mailer插件的用法中所定义的相同的电子邮件通知行为: 每个失败的构建都会触发一封新电子邮件。 失败(或不稳定)的构建之后的成功构建会触发一封新电子邮件,表明危机已经结束。 成功构建后不稳定的构建会触发新电子邮件,表明存在回归。 除非进行配置,否则每个不稳定的构建都会触发一封新电子邮件,表明回归仍然存在。 我阅读了有关管道中的通知