使用 Gulp 复制图像已损坏/损坏

问题描述 投票:0回答:2

有一个简单的任务,将图像从一个文件夹复制到另一个文件夹。

gulp.task('default', function () {
    return gulp.src('./img/*.*')
        .pipe(gulp.dest('./image'));
});

以前一切对我来说都很好,但最近我的图像复制到输出文件夹时已损坏。当您尝试打开它们时,会出现错误,指出文件已损坏且无法读取。

吞咽版本:

CLI版本:3.0.0

本地版本:5.0.0

我不明白问题是什么以及如何解决它,甚至很难解释这个问题。也许这是我的电脑、系统或Gulp版本等的问题,不清楚。如果有人遇到过这个问题请分享解决方案。

提前谢谢您!

尝试使用其他版本的 Gulp、使用不同的图像,并尝试在不同的驱动器上运行任务。这一切都没有成功

javascript node.js npm gulp
2个回答
7
投票

来自 Gulp 5 - 使用 .src 和 .dest 复制的图像已损坏

尝试将

{ encoding: false }
选项设置为
src
。请参阅“流编码” https://medium.com/gulpjs/announcing-gulp-v5-c67d077dbdb7

所以这应该有效:

gulp.task('default', function () {
    return gulp.src('./img/*.*', {encoding: false})
        .pipe(gulp.dest('./image'));
});

0
投票

首先,欢迎使用 Javascript 和 Node.js。有时它就坏了,这正是它应该的样子(讽刺)。

我一天前也遇到了同样的问题。 不知何故,gulp 损坏了图像,而且似乎还没有适当的解决方案来解决这个问题(至少我无法解决)。

所以我想出了一个临时解决方案,直到修复为止。

const fs = require("fs");


gulp.task('default', function (callback) {
    try {
        fs.copyFile("./img/background.jpg", "./image/background.jpg", callback);
    } catch (e) {
        // nth
    }
});

对于您的具体问题,您可能会遍历给定目录中的所有文件并执行该操作。 但我想我应该保持“解决方案”小而简单。

© www.soinside.com 2019 - 2024. All rights reserved.