Создание текстового файла

JavaScript:
Создание текстового файла

Как:

JavaScript в браузере не имеет прямого доступа к файловой системе по соображениям безопасности. Но вы можете создать текстовый файл и предложить пользователю сохранить его:

function downloadTextFile(text, filename) {
  const blob = new Blob([text], { type: 'text/plain' });
  const a = document.createElement('a');
  a.download = filename;
  a.href = window.URL.createObjectURL(blob);
  a.dataset.downloadurl = ['text/plain', a.download, a.href].join(':');
  a.style.display = "none";
  document.body.appendChild(a);  // Добавляем якорь к телу документа.
  a.click();
  
  document.body.removeChild(a);  // Уборка якоря после использования.
  window.URL.revokeObjectURL(a.href);  // Освобождаем URL blob.
}

// Пример использования:
downloadTextFile('Привет, мир!', 'example.txt');

Node.js предоставляет более простой способ записи файлов через модуль fs:

const fs = require('fs');

fs.writeFile('example.txt', 'Привет, мир!', (err) => {
  if (err) throw err;
  console.log('Файл был сохранен!');
});

Погружение

Исторически JavaScript был ограничен браузером без доступа к файловой системе. Node.js изменил это, предоставив возможности на стороне сервера.

Альтернативы fs.writeFile включают fs.writeFileSync для синхронных операций и fs.promises.writeFile для асинхронного контроля на основе промисов.

Методы fs в Node обрабатывают буферы и потоки — инструменты для работы с большими файлами и сетевым общением.

См. также