Функция NodeJS fs-extra sureLink ()

Опубликовано: 14 Декабря, 2021

Функция sureLink () гарантирует, что связь между указанными двумя файлами существует. Если целевой файл не существует, он будет создан, и будет создана связь между ними, но если исходный файл не существует, функция выдаст ошибку. Если структура каталогов целевого файла не существует, она будет создана. Под ссылкой подразумевается, что оба связанных файла будут копиями друг друга. Если что-то изменится в одном файле, это отразится и на другом файле. CreateLink () - это другое имя функции.

Синтаксис:

 fs.ensureLink (srcPath, destPath, обратный вызов)
 fs.createLink (srcPath, destPath, обратный вызов)

Параметры: эта функция принимает три параметра, как указано выше и описано ниже.

  • srcPath: это строка, содержащая путь к файлу, который должен быть связан с другим файлом. Этот файл должен существовать, иначе функция выдаст ошибку.
  • destPath: это строка, содержащая путь к другому файлу, который будет связан с файлом, указанным в srcPath.
  • обратный вызов: он будет вызываться после установления ссылки или при возникновении ошибки во время выполнения. Промисы также можно использовать вместо функции обратного вызова.

Возвращаемое значение: ничего не возвращает.

Следуйте инструкциям по реализации функции:

  1. Модуль можно установить с помощью следующей команды:

     npm установить fs-extra
  2. После установки модуля вы можете проверить версию установленного модуля с помощью этой команды:

     npm ls fs-extra 

  3. Создайте файл с именем index.js и запросите в нем модуль fs-extra, используя следующую команду:

     const fs = require ('fs-extra');
  4. Чтобы запустить файл, напишите в терминале следующую команду:

     узел index.js

Структура проекта: структура проекта будет выглядеть следующим образом.

Пример 1. Создайте файл с именем file.txt и папку с именем des, а внутри папки создайте файл с именем file.txt. Мы будем пробовать эту функцию на уже существующих файлах.

index.js



// Requiring module
const fs = require( "fs-extra" );
// source file path
// File needs to exist
const src = "file.txt" ;
// destination file path
const dest = "des/file.txt" ;
// Function Call
// Using callback function
fs.ensureLink(src, dest, (err) => {
if (err) return console.log(err);
console.log( "Success! Both files are now linked" );
});

Вывод: этот вывод будет в консоли. Вы заметите, что между обоими файлами установлена связь, и теперь, если мы напишем что-нибудь в один файл, это отразится в другом.

Пример 2: На этот раз мы будем создавать только исходный файл. Сама функция создаст целевой файл и установит связи между ними.

index.js

// Requiring module
const fs = require( "fs-extra" );
// source file path
// File needs to exist
const src = "file.txt" ;
// destination file path
// File will be created if not exist
const dest = "des/file.txt" ;
// Function Call
// Using Promises
fs.ensureLink(src, dest)
.then(() => console.log( "Success!! Links between files establised" ))
. catch ((e) => console.log(e));

Вывод: этот вывод будет в консоли. Вы заметите, что сначала создается каталог с именем des и файл с именем file.txt, а затем в обоих файлах устанавливается связь.

Примечание. В обоих вышеупомянутых случаях результат будет выглядеть так. В приведенном выше выводе вы можете видеть, что если что-то изменится в одном файле, это отразится в другом. Вот как мы можем использовать функцию sureFile () .

Ссылка: https://github.com/jprichardson/node-fs-extra/blob/HEAD/docs/ensureLink.md