Сохранение файлов локально с помощью электрона

У меня есть файлы шаблонов, которые содержат несколько переменных строк каждый, я хотел бы создать очень простую форму ввода с помощью Electron (http://electron.atom.io/), и я хочу сохранить скомпилированный выходной файл на компьютере пользователя.

Есть ли какой-нибудь модуль, который я могу использовать для локального сохранения файлов Electron?

Ответ 1

Если вы нацеливаете несколько платформ, я ответил на аналогичный вопрос здесь. В основном app.getPath(name), app.setPath(имя, путь) и app.getAppPath() очень полезны при сохранении файлов в нужном месте независимо от ОС.

Вы также можете проверить эти пакеты Nodejs, которые упрощают сохранение файлов непосредственно на главной машине...

Если вы собираетесь для пользователей сохранять файлы, вы также можете посмотреть Dialog api, где вы можете специально вызвать сохранить диалог для этой цели.

Ответ 2

Пример кода:

// your content is into a variable named 'content'
var fs = require('fs');
try { fs.writeFileSync('myfile.txt', content, 'utf-8'); }
catch(e) { alert('Failed to save the file !'); }

Ответ 4

const {dialog} = require('electron').remote;
var fs = require('fs');

  export default {
    methods: {
      save: function () {
        var options = {
          title: "Save file",
          defaultPath : "my_filename",
          buttonLabel : "Save",

          filters :[
            {name: 'txt', extensions: ['txt',]},
            {name: 'All Files', extensions: ['*']}
           ]
        }

        dialog.showSaveDialog( options, (filename) => {
          fs.writeFileSync(filename, "hello world", 'utf-8');
        })
      },
    }