问题标签 [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.
javascript - 是否可以同步将流转换为缓冲区?
看看使用gulp-tap的最简单的 Gulp 任务:
它从src
目录中获取文件,用“blabla”替换内容并将那些“被破坏的”文件保存到“dist”目录中。这简单!
但是如果我们有流而不是“blabla”呢?例如:
gulp - 如何获取基本文件名并将其作为变量传递到 gulp 的管道中?
我正在尝试获取通过流的每个 html 文件的基本名称。这里的代码显然不起作用,因为_base
不再在范围内。似乎应该有一个非常简单的方法来做到这一点,或者也许 gulp-ejs 中内置了一些我不知道的东西。想法?
gulp - Gulp:根据文件名替换 HTML 文件中的变量
我们的项目正在使用 Gulp。现在我有一个要求:我们有多个页面级 HTML 文件,比如login.html
和my.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试图达到同样的效果,但他产生了一些其他的解决方案。
gulp - 基于来自早期管道的数据的 Gulp 控制输出
我一直在尝试使用 gulp 找到一种仅根据我在管道中收集的 yaml 数据写出某些文件的方法。我已经能够看到文件的数据,但无法获得我期望的输出。
在这个任务中,我收集了大量的降价文件,并将它们传递到使用 gulp-data 读取 yaml 的管道中,然后向其中添加一些其他数据。然后我通过 Swig 管道传输它。
我试图在输入 gulp.dest 之前添加某种条件元素。我找到了这个例子,它让我到达了现在的位置。
我得到的最接近的是:
我从 console.log 命令得到的结果是正确的(它显示了 50 个文件中的 2 个)。但是没有任何东西被写入目的地。如果我将 gulp.dest 移到这个管道之外,所有文件都会被写入。
我尝试使用 gulp-if 或 gulp-ignore,但无法将 file.data.date 放入其中任何一个模块中。
编辑:这是完整的任务
node.js - Gulp-tap:如何使用它?
我一直在尝试使我的 gulp 任务之一工作,但无法弄清楚如何在我的特定情况下使用 gulp-tap。
我想取当前处理的 amp-html 文件的文件名,并用它来将同名的 css 文件导入到文件中。
当前未完成的任务:
我的许多尝试之一(简化):
我怎样才能使它与 gulp-tap 一起工作?我实际上不明白如何接流并尝试了很多方法......
预先感谢您的帮助
node.js - 如何使用 gulp-tap 将文件名传递给 Gulp 管道中的下一个操作?
我有一个 Gulp 任务,它使用 gulp-inline-css 从 CSS 文件中获取 HTML 文件和内联样式。我的任务的原始版本对每个 HTML 文件使用相同的 CSS 文件。现在我想让任务根据它正在处理的 HTML 文件的文件名选择一个 CSS 文件。
我gulp-tap
用来获取文件名。该inliner()
函数获取 CSS 文件的路径并运行所有内联内容。
以下 Gulp 任务为每个文件运行 inliner() ,但似乎无法将结果注入流中。我尝试了几种不同的方法,但似乎无法将 inliner() 的结果返回到原始流中。
我是否错误地使用 gulp-tap?这似乎是一个非常简单的用例。
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
文件夹中结束。为什么这不起作用?这甚至是尝试实现这一目标的好方法还是有更好的方法?
gulp - 使用 gulp 将一个 glob 文件的内容复制到另一个 glob 文件的一行中
我正在开发一个 Web 组件构建过程,该过程获取 HTML 文件的内容并将它们放入我的 javascript 文件中的字符串中。
我想获取内容/src/foo/bar.html
并将它们添加到/dist/foo/bar.js
目前,我正在使用gulp-tap
和fs
读取有效的html,并且我正在使用gulp-string-replace
将字符串添加到我的js文件中,如下所示:
这还不起作用,因为发生时htmlInjection
未定义replace
。我相信这是由于管道是异步的。
我在引用这个问题在 Gulp 3.9.1 中的管道之间传递一个变量,并且想知道这种方法是否是最好的方法?
有没有更简单的方法来实现我在这里尝试的目标?
谢谢!