Модуль для роботи з шляхами до файлів під різні ОС.
Цей метод приймає аргументами рядки, які будуть перетворені у правильно форматований шлях базуючись на операційній системі, на якій запущена програма.
import path from 'node:path';
// приклад для побудови шляху з його частин
const somePath = path.join('some_folder', 'some_file.txt');
// somePath буде 'some_folder/some_file.txt' на MacOs
// somePath буде 'some_folder\\some_file.txt' на Windows
Дозволяє отримати інформацію по шляху, який був переданий аргументом
import path from 'node:path';
// на MacOs
path.parse('/home/user/dir/file.txt');
// { root: '/',
// dir: '/home/user/dir',
// base: 'file.txt',
// ext: '.txt',
// name: 'file' }
// на Windows
path.parse('C:\\\\path\\\\dir\\\\file.txt');
// { root: 'C:\\\\',
// dir: 'C:\\\\path\\\\dir',
// base: 'file.txt',
// ext: '.txt',
// name: 'file' }
дає нам можливості працювати із файлами та папками
import fs from 'node:fs';
const fileContent = fs.readFileSync('path_to_file');
import fs from 'node:fs';
fs.readFile('path_to_file', (err, fileContent) => {
/* ваш код */
});
import fs from 'node:fs/promises';
const fileContent = await fs.readFile('path_to_file');
асинхронного читання даних із файлу.
import fs from 'fs/promises';
(async () => {
try {
const data = await fs.readFile('file.txt', 'utf8');
console.log('Вміст файлу:', data);
} catch (err) {
console.error('Помилка читання файлу:', err);
}
})();
асинхронного запису даних у файл
import fs from 'fs/promises';
// Записуємо дані у файл 'output.txt'
(async () => {
const data = 'Це дані, які ми записуємо у файл.';
try {
await fs.writeFile('output.txt', data, 'utf8');
console.log('Дані успішно записані у файл.');
} catch (err) {
console.error('Помилка запису у файл:', err);
}
})();
асинхронного додавання даних у кінець файлу
import fs from 'fs/promises';
// Додаємо дані до файлу 'output.txt'
(async () => {
const data = 'Це дані, які ми додаємо до файлу.';
try {
await fs.appendFile('output.txt', data, 'utf8');
console.log('Дані успішно додані до файлу.');
} catch (err) {
console.error('Помилка додавання даних до файлу:', err);
}
})();
асинхронного перейменування або переміщення файлу чи каталогу
import fs from 'fs/promises';
// Перейменовуємо або переміщуємо файл чи каталог зі шляху 'oldfile.txt' до 'newfile.txt'
(async () => {
try {
await fs.rename('oldfile.txt', 'newfile.txt');
console.log('Файл або каталог успішно перейменовано або переміщено.');
} catch (err) {
console.error('Помилка перейменування або переміщення:', err);
}
})();
метод використовується для асинхронного видалення файлу
import fs from 'fs/promises';
// Видаляємо файл за шляхом 'file.txt'
(async () => {
try {
await fs.unlink('file.txt');
console.log('Файл успішно видалено.');
} catch (err) {
console.error('Помилка видалення файлу:', err);
}
})();
для асинхронного отримання списку файлів та каталогів у заданому каталозі.
import fs from 'fs/promises';
// Отримуємо список файлів і каталогів у поточному каталозі
(async () => {
try {
const files = await fs.readdir('.');
console.log('Список файлів і каталогів:', files);
} catch (err) {
console.error('Помилка отримання списку файлів і каталогів:', err);
}
})();
перевіряти наявність папок за допомогою цього методу
import fs from 'fs/promises';
// Перевіряємо доступність файлу або каталогу за вказаним шляхом
(async () => {
const path = 'file.txt';
try {
await fs.access(path);
console.log(`Файл або каталог '${path}' доступний.`);
} catch (err) {
if (err.code === 'ENOENT') {
console.log(`Файл або каталог '${path}' не існує.`);
} else {
console.error(
`Помилка перевірки доступності файлу або каталогу '${path}':`,
err,
);
}
}
})();