Gulp - обрабатывать разрешения только для чтения для файлов dest?

У меня есть файлы изображений с атрибутом read-only, установленным в исходной папке. Мне нужно скопировать их в папку назначения в большинстве случаев несколько раз в gulpfile.js.

Я пытаюсь скопировать файлы src-to-dest следующим образом:

gulp.task('copy-images', function () {
  gulp.src(path_resource_images + '**/*.jpg')
    .pipe(gulp.dest(path_app_images));
});

Он работает один раз, когда папка dest в пустом. Но для всех последующих вызовов у меня есть исключение, что файл read-only в папке dest. Как удалить файл attr read-only, чтобы делать копии изображений каждый раз, когда я его вызываю?

Ответы

Ответ 1

Вы можете использовать gulp-chmod, чтобы обрабатывать разрешения для ваших файлов.

Итак, если вы хотите установить ваши изображения readable и writable для всех, вы можете пойти с чем-то вроде:

var chmod = require('gulp-chmod');

gulp.task('copy-images', function() {
  gulp.src(path_resource_images + '**/*.jpg')
    .pipe(chmod(666))
    .pipe(gulp.dest(path_app_images));
});

Ответ 2

Пропустив атрибут options. Задайте значение mode, чтобы указать разрешение для любых папок, которые необходимо создать в качестве вывода.

gulp.dest("destination-path-here", {"mode": "0777"})

приветствия: -)

Ответ 3

rimraf можно использовать, чтобы избежать проблем с разрешениями TFS (удаляя файлы назначения перед копированием файлов)

var rimraf = require("rimraf");
gulp.task("images_clean", function (cb) {
    rimraf(imagesDest, cb);
});