NodeJS. Создание и удаление директорий.
Всем привет! В этой статье мы рассмотрим, как создавать и удалять директории в NodeJS.
В прошлой статье мы рассмотрели, как записывать и считывать текстовые файлы. Давайте теперь посмотрим, как их удалять.
fs.unlink('writeme.txt');
Думаю, тут все понятно и пояснять не нужно. Единственное, что стоит отметить, это то, что если вы попытаетесь удалить файл, которого нет, то получите ошибку, так что всегда проверяйте, есть ли такой файл на самом деле или нет.
Теперь давайте перейдем к директориям. Мы также можем делать это синхронно или асинхронно. Рассмотрим синхронный способ:
fs.mkdirSync('stuff');
В скобочках мы указываем название директории. Если вы хотите удалить директорию, то используйте такой метод:
fs.rmdirSync('stuff');
Чтобы делать эти же операции асинхронно, просто уберите слово Sync в названии метода.
fs.mkdir('stuff'); // создаем директорию
fs.rmdir('stuff'); // удаляем директорию
Однако, как вы, наверное, помните, когда мы используем асинхронный метод, то также должны использовать функцию обратного вызова, чтобы сделать что-то после того, как функция выполнится.
fs.mkdir('stuff', function() {
fs.readFile('readme.txt', 'utf8', function(err, data) {
fs.writeFile('./stuff/writeme.txt', data);
});
});
Здесь мы создаем директорию, после этого читаем файл readme.txt, а потом данные из этого файла записываем в файл writeme.txt, который помещаем в только что созданную директорию. Вот так вот все просто!
Теперь, если вы попытаетесь удалить эту директорию, то получите ошибку, так как она не пуста. Сначала мы должны удалить все файлы, находящиеся в директории, а уже затем ее саму. Сделать это можно вот так:
fs.unlink('./stuff/writeme.txt', function() {
fs.rmdir('stuff');
});
Итак, в этой статье мы рассмотрели, как создавать и удалять директории в NodeJS.
Спасибо за внимание!
-
- Михаил Русаков
Комментарии (2):
Михаил было бы супер если вы также написали цикл статей и по socket.io
Ответить
/*Чтобы удалять непустые директории и без предупреждения: */ require("rimraf")('../', () => console.log('Deleted successfully!'));
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.