Я пытаюсь использовать gulp-if и gulp-is-binary, чтобы пропускать двоичные файлы в моей задаче HTML, но у меня много проблем.Пропустить двоичные файлы в задаче gulp
Я получил эту задачу:
// html task, converts includes & variables in HTML
gulp.task("html", function() {
"use strict";
// development HTML directory
var htmlDirectory = dev;
// production HTML directory (if --dist is passed)
if (argv.dist) htmlDirectory = dist;
// clean directory if --dist is passed
if (argv.dist) del([htmlDirectory + "/**/*", "!" + htmlDirectory + "{/assets,/assets/**}"]);
// process HTML
return gulp.src([src + "/**/*", "!" + src + "{/assets,/assets/**}"])
// prevent breaking on error
.pipe(plumber({errorHandler: onError}))
// check if source is newer than destination
.pipe(gulpif(!argv.dist, newer({dest: htmlDirectory, extra: [src + "{/partials,/partials/**}"]})))
// check if a file is a binary
.pipe(gulpif(isBinary(), function() { /* somehow skip? */ }))
// replace variables
.pipe(fileinclude({
prefix: "@@",
basepath: "@file",
context: {
name: name,
description: description,
version: version,
repository: repository,
license: license,
}
}))
// replace FontAwesome placeholders
.pipe(replace(/(?:<icon:)([A-Za-z0-9\-\_]+)[^>]*(?:>)/g, "<i class='fa fa-$1' aria-hidden='true'><\/i>"))
// output to the compiled directory
.pipe(gulp.dest(htmlDirectory))
// reload the files
.pipe(browserSync.reload({stream: true}))
// notify that the task is complete, if not part of default or watch
.pipe(gulpif(gulp.seq.indexOf("html") > gulp.seq.indexOf("default"), notify({title: "Success!", message: "HTML task complete!", onLast: true})))
// push the task to the ranTasks array
.on("data", function() {
if (ranTasks.indexOf("html") < 0) ranTasks.push("html");
});
});
Это линия у меня возникают проблемы с:
.pipe(gulpif(isBinary(), function() { /* somehow skip? */ }))
Я не могу понять, как сказать Глоток, чтобы пропустить этот файл и продолжить остальную часть задачи. Я чувствую, что мне не хватает чего-то простого.