Поломка файла при копировании с помощью gulp.dest

В файлах image.mjs и copy.mjs я использую gulp.dest Но он ломает файлы при копировании, то есть копирование выполняется по правильному пути, но файлы в итоге становятся большими по размеру и становятся неработоспособными

В случае с изображениями этого не происходит с файлами .svg, но происходит с файлами .png.

Я использую шрифты формата woff и woff2.

Я использую следующие версии пакетов:

"browser-sync": "^3.0.2",
"del": "^7.1.0",
"gulp": "^5.0.0",
"gulp-autoprefixer": "^9.0.0",
"gulp-clean-css": "^4.3.0",
"gulp-cli": "^3.0.0",
"gulp-prettier": "^6.0.0",
"gulp-pug": "^5.0.0",
"gulp-rename": "^2.0.0",
"gulp-replace": "^1.1.4",
"gulp-sass": "^5.1.0",
"path": "^0.12.7",
"pug": "^3.0.2",
"sass": "^1.72.0"

Это мой gulpfile.mjs:

import gulp from "gulp";

import path from "./gulp/config/path.mjs";
import plugins from "./gulp/config/plugins.mjs";

global.app = {
  path: path,
  gulp: gulp,
  plugins: plugins,
};

import copy from "./gulp/tasks/copy.mjs";
import reset from "./gulp/tasks/reset.mjs";
import pug from "./gulp/tasks/pug.mjs";
import server from "./gulp/tasks/server.mjs";
import scss from "./gulp/tasks/scss.mjs";
import image from "./gulp/tasks/image.mjs";
import js from "./gulp/tasks/js.mjs";
import format from "./gulp/tasks/format.mjs";

gulp.task("format", format);

function watcher() {
  gulp.watch(path.watch.fonts, copy);
  gulp.watch(path.watch.pug, pug);
  gulp.watch(path.watch.scss, scss);
  gulp.watch(path.watch.img, image);
  gulp.watch(path.watch.js, js);
}

const mainTasks = gulp.parallel(copy, pug, scss, image, js);

const dev = gulp.series(reset, mainTasks, gulp.parallel(watcher, server));

gulp.task("default", dev);

Это мой файл image.mjs:

const image = () => {
  return app.gulp
    .src(app.path.src.img)
    .pipe(app.gulp.dest(app.path.build.img))
    .pipe(app.plugins.browsersync.stream());
};

export default image;

И это мой файл copy.mjs:

const copy = () => {
  return app.gulp
    .src(app.path.src.fonts)
    .pipe(app.gulp.dest(app.path.build.fonts));
};

export default copy;

Я попробовал использовать плагин gulp-copy вместо gulp.dest, но по какой-то причине он не сработал.

Я нашел похожую проблему, но решение оттуда мне не помогло

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
5
0
165
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У меня возникла та же проблема при попытке сжать некоторые изображения или переместить папку со шрифтами. После изменения версии Gulp на 4.0.2 все заработало как положено.

Обновлено: найдено решение в проблеме , в gulp версии 5 для «кодировки» должно быть установлено значение «false» при работе с двоичными файлами:

gulp.src(path, {encoding: false})

Другие вопросы по теме