问题标签 [gulp-tap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
696 浏览

javascript - 是否可以同步将流转换为缓冲区?

看看使用gulp-tap的最简单的 Gulp 任务:

它从src目录中获取文件,用“blabla”替换内容并将那些“被破坏的”文件保存到“dist”目录中。这简单!

但是如果我们有流而不是“blabla”呢?例如:

0 投票
2 回答
370 浏览

gulp - 如何获取基本文件名并将其作为变量传递到 gulp 的管道中?

我正在尝试获取通过流的每个 html 文件的基本名称。这里的代码显然不起作用,因为_base不再在范围内。似乎应该有一个非常简单的方法来做到这一点,或者也许 gulp-ejs 中内置了一些我不知道的东西。想法?

0 投票
1 回答
2099 浏览

gulp - Gulp:根据文件名替换 HTML 文件中的变量

我们的项目正在使用 Gulp。现在我有一个要求:我们有多个页面级 HTML 文件,比如login.htmlmy.html. 在这些原始 HTML 文件中,有一个名为 的变量{{PAGE_TITLE}},应将其替换为(由Gulp)分别为"Login to System""My Account"。这是我当前的脚本:

事实证明,该变量pageTitle从未在replace. 我已经搜索了gulp-tap很多次的文档,但我仍然不知道如何使它工作。请帮忙,谢谢。

这篇文章:Modify file in place (same dest) using Gulp.js and a globbing pattern试图达到同样的效果,但他产生了一些其他的解决方案。

0 投票
1 回答
364 浏览

gulp - 基于来自早期管道的数据的 Gulp 控制输出

我一直在尝试使用 gulp 找到一种仅根据我在管道中收集的 yaml 数据写出某些文件的方法。我已经能够看到文件的数据,但无法获得我期望的输出。

在这个任务中,我收集了大量的降价文件,并将它们传递到使用 gulp-data 读取 yaml 的管道中,然后向其中添加一些其他数据。然后我通过 Swig 管道传输它。

我试图在输入 gulp.dest 之前添加某种条件元素。我找到了这个例子,它让我到达了现在的位置。

我得到的最接近的是:

我从 console.log 命令得到的结果是正确的(它显示了 50 个文件中的 2 个)。但是没有任何东西被写入目的地。如果我将 gulp.dest 移到这个管道之外,所有文件都会被写入。

我尝试使用 gulp-if 或 gulp-ignore,但无法将 file.data.date 放入其中任何一个模块中。


编辑:这是完整的任务

0 投票
0 回答
1262 浏览

node.js - Gulp-tap:如何使用它?

我一直在尝试使我的 gulp 任务之一工作,但无法弄清楚如何在我的特定情况下使用 gulp-tap。

我想取当前处理的 amp-html 文件的文件名,并用它来将同名的 css 文件导入到文件中。

当前未完成的任务:

我的许多尝试之一(简化):

我怎样才能使它与 gulp-tap 一起工作?我实际上不明白如何接流并尝试了很多方法......

预先感谢您的帮助

0 投票
2 回答
1094 浏览

node.js - 如何使用 gulp-tap 将文件名传递给 Gulp 管道中的下一个操作?

我有一个 Gulp 任务,它使用 gulp-inline-css 从 CSS 文件中获取 HTML 文件和内联样式。我的任务的原始版本对每个 HTML 文件使用相同的 CSS 文件。现在我想让任务根据它正在处理的 HTML 文件的文件名选择一个 CSS 文件。

gulp-tap用来获取文件名。该inliner()函数获取 CSS 文件的路径并运行所有内联内容。

以下 Gulp 任务为每个文件运行 inliner() ,但似乎无法将结果注入流中。我尝试了几种不同的方法,但似乎无法将 inliner() 的结果返回到原始流中。

我是否错误地使用 gulp-tap?这似乎是一个非常简单的用例。

0 投票
1 回答
958 浏览

css - 根据 gulp 任务中的文件名切换输出文件夹

我的 src 文件夹中有不同*.scss的文件,我希望将一个文件编译到它自己的单独文件夹中。
假设我有文件normalFile_1.scss, specialFile.scss, normalFile_2.scss. 我希望将两个普通文件编译到文件夹Public/Css中,但是特殊文件最终应该在文件夹中Public/Css/Special

我试图用 获取任务中的当前文件名gulp-tap,效果很好。

然后gulp-if我想根据filename变量切换输出文件夹(PATHS.dist 是输出“根”文件夹Public):

但一切仍然在Public/Css文件夹中结束。为什么这不起作用?这甚至是尝试实现这一目标的好方法还是有更好的方法?

0 投票
1 回答
175 浏览

gulp - 使用 gulp 将一个 glob 文件的内容复制到另一个 glob 文件的一行中

我正在开发一个 Web 组件构建过程,该过程获取 HTML 文件的内容并将它们放入我的 javascript 文件中的字符串中。

我想获取内容/src/foo/bar.html并将它们添加到/dist/foo/bar.js

目前,我正在使用gulp-tapfs读取有效的html,并且我正在使用gulp-string-replace将字符串添加到我的js文件中,如下所示:

这还不起作用,因为发生时htmlInjection未定义replace。我相信这是由于管道是异步的。

我在引用这个问题在 Gulp 3.9.1 中的管道之间传递一个变量,并且想知道这种方法是否是最好的方法?

有没有更简单的方法来实现我在这里尝试的目标?

谢谢!