问题标签 [gulp-if]

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 回答
332 浏览

node.js - 在 gulp 任务中跳过二进制文件

我正在尝试使用gulp-ifgulp-is-binary来跳过我的 HTML 任务中的二进制文件,但我遇到了很多麻烦。

我有这个任务:

这是我遇到问题的行:

我不知道如何告诉 Gulp 跳过该文件并继续其余的任务。我觉得我错过了一些简单的东西。

0 投票
1 回答
61 浏览

css - 手写笔预处理器无法在使用 gulpif 的 useref 内工作

我有一个非常基本的 gulp 任务,我想处理一个 Stylus CSS 文件 (.styl)。这是 gulpfile 中的任务:

这是 html 的特定部分

无论出于何种原因,Stylus 文件都没有得到处理,而是被复制到 css/style.min.css 而不进行任何处理。

更奇怪的是,如果我将 CSS 格式化为普通的 CSS 文件并将“stylus()”替换为“cssnano()”,cssnano 可以正常工作并缩小文件。当作为自己的任务运行时,Stylus 在 useref 和 gulpIf 之外可以正常工作,但我最好像这样使用它。

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 投票
2 回答
1187 浏览

gulp - 跳过使用 Gulp 丑化已经压缩的文件

我有一种情况,我目前正在丑化所有 JavaScript 文件,即使它们已经被压缩,这显然不是一个好主意。

我各自的任务是:

scripts.js是一个先前连接在一起的文件,但显然如果其中有一些已经压缩的文件,那么它们将再次变得丑陋,这是我们试图避免的。

因此,我进行了搜索,并一直在考虑再次处理所有文件,而不是处理未缩小的(仅包含连接文件的文件)版本,以便我可以更好地控制每个文件。

我研究过使用gulp-ignore并且似乎可能是我想要的gulp-ifgulp-if但是我不能 100% 确定流在 Gulp 中是如何运行的——当你传递一个文件列表时,它是循环遍历每个文件的任务还是只运行一次?

我很好奇,因为如果它针对每个文件运行,我正在做这样的事情:

condition检查文件是否在文件名中的东西在哪里.min,如果有,不要丑化它。

所以我的问题是 - 如果它循环并且我可以在每个文件上运行条件,我该如何对文件名运行测试,如果它不循环,那么我怎样才能实现我在这里尝试做的事情?我是否将被迫创建两个单独的任务,一个用于未缩小的任务,一个用于.min文件,然后最后将它们连接在一起?

0 投票
4 回答
1427 浏览

gulp - gulp.paralell() 或 gulp.series() 中的条件 gulp 任务

关于管道内条件任务的太多信息(例如“gulp-if”插件)。但是,实际上它不是“条件任务”:它是“有条件的插件使用”,一个任务可以使用多个插件。以下是如何有条件地运行不在管道内的任务(例如,在里面gulp.paralell()

假设任务名称可以包含空格以提供易于理解的任务含义。

0 投票
2 回答
210 浏览

javascript - 复制文件的 Gulpfile 任务应优化图像(如果有)

在我的 gulpfile 中,我正在复制多个文件(各种格式),如果这些文件中的任何一个包含我想用gulp-imagemin.

问题是gulp-imagemin只需要图像,否则会在日志中抛出不受支持的图像,所以如果我要传入整个 glob,它会引发很多错误,我想避免这种情况。我试图gulp-if过滤 glob,虽然它可以作为过滤器并防止这些错误,但即使没有图像存在,它似乎总是至少通过一次。例如,即使没有任何 png 文件,它仍然会调用 imagemin() 一次:

这将记录“缩小 0 个图像”,因为在我的真实场景中,我传递了几十个没有图像的球体,所以我的日志被垃圾邮件淹没了。如果我将 gulpif 条件设置为静态假,它根本不会调用 imagemin,所以它一定是这个条件不应该是假的东西?

如果 glob 不包含某种类型的文件,我如何根本不调用 imagemin()?

0 投票
1 回答
735 浏览

javascript - 吞咽-如果。如何检查js文件是否包含特定属性?

我正在使用 gulp.js。但我想添加一个条件 if request.debug = true; 在我的任何 js 文件中,gulp 任务都应该失败。我找到了 gulp-if 和 gulp-fail 可以用于此目的,但我不知道如何检查具体情况?谢谢

0 投票
1 回答
149 浏览

javascript - 单个 gulp-if 调用中的多个流?

在下面的代码中,我plugins.if( !config.isDevelopmentMode && config.compileBladeTemplates, /* task */)检查了两次(plugins.ifgulp-if包)。我可以通过一次检查重构下面的代码吗?不确定仅使用gulp-if 是否可行,因此允许使用其他插件。

0 投票
1 回答
138 浏览

html - 验证 html 页面中是否存在某个字符串

我的文件夹中有一些 js 和 html 文件,我想验证没有 js 文件或 html 文件包含 http:// 对于我使用 gulp-contains 的 js 文件,它运行良好,但它不适用于 html 页面。我想要任何能够验证没有脚本引用 http:// 的 gulp 模块意味着如果 html 包含<script src="http://cdn....",那么它应该抛出一个错误,并且只有在脚本引用 https 时才应该工作。这是我尝试过的:

那么这可能使用 gulp-if 或其他一些 gulp 模块吗?

0 投票
1 回答
151 浏览

path - 有没有办法修复 Nunjucks 将文件扩展名更改为 .html?

我有一个 gulpfile,它使用模板管理器(Nunjucks)处理 HTML 和 PHP 文件,它工作正常,但我认为这个过程可以改进。

目前我正在使用一项任务来处理 HTML 文件,而另一项任务来处理 PHP 文件。任务和模板完全相同,除了不同的 gulp.src glob 仅针对 HTML 或仅针对 PHP 文件以及.pipe(rename({extname: '.php'}))PHP 任务中的附加内容,因为 Nunjucks 输出所有文件,.html无论输入扩展名是什么,老实说,我不明白为什么这是必要的。

将我的任务减少到一个的简单解决方案是告诉 Nunjucks 不要更改源文件的文件扩展名,但我在他们的文档中没有找到配置标志。

我最初的想法是使用内置的 Node Path 模块在 Nunjucks 进程之前检查扩展是什么,如果它是.php. 然后,在 Nunjucks 进程之后,使用 gulp-if 检查标志,如果为真,则重命名为.php.

由于我是 Gulp 的新手,经过大量搜索后,还没有找到任何帮助让我开始,我希望社区可以帮助我找到解决方案和我的 Gulp 学习曲线。