как копировать папку рекурсивно в node js с помощью fs cp и fs cpsync
Ответы

Ivan Mamtsev
26 февраля 2025
В Node.js можно скопировать папку рекурсивно с помощью модуля fs
и его методов fs.copyFile
и fs.copyFileSync
. Оба метода позволяют копировать файлы, но для копирования директорий, необходимо воспользоваться другими методами и реализовать логику копирования рекурсивно самостоятельно.
Установим зависимости:
npm install fs-extra
Копируем папки рекурсивно:
const fs = require('fs-extra');
function copyFolderRecursiveSync(source, target) {
let files = [];
// Проверяем, существует ли исходная директория
if (!fs.existsSync(source)) {
console.log(""Папка не существует: "" + source);
return;
}
// Убеждаемся, что целевая папка существует
if (!fs.existsSync(target)) {
fs.mkdirSync(target);
}
// Получаем содержимое директории
files = fs.readdirSync(source);
files.forEach(function(file) {
let current = fs.lstatSync(source + '/' + file);
if (current.isDirectory()) {
copyFolderRecursiveSync(source + '/' + file, target + '/' + file);
} else {
fs.copyFileSync(source + '/' + file, target + '/' + file);
}
});
}
// Использование функции копирования папки рекурсивно
copyFolderRecursiveSync('путь_к_исходной_папке', 'путь_к_целевой_папке');
0
0