распределение электронной подделки работает не так, как ожидалось

#electron #electron-forge

Вопрос:

Я изучаю электрон.

Вот мое приложение hello word, у него есть форма, когда он отправляет данные, сохраненные в файл JSON, также у него есть страница со списком, здесь он считывает данные из файла JSON и список на странице.

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

Вот мой main.js

 const { app, BrowserWindow, ipcMain } = require("electron");

const path = require("path");
const fs = require("fs");

function createWindow() {
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false,
      enableRemoteModule: true,
    },
  });

  //win.webContents.openDevTools();

  win.loadFile("application/index.html");
}

app.whenReady().then(() => {
  createWindow();
});

ipcMain.on("passwordSubmit", async (ev, data) => {
  let file = await fs.readFileSync(path.resolve(__dirname, "data.json"), {
    encoding: "utf8",
  });
  let dataCollection = JSON.parse(file);
  console.log(dataCollection);

  dataCollection.push(data);
  let resposne = await fs.writeFileSync(
    path.resolve(__dirname, "data.json"),
    JSON.stringify(dataCollection)
  );
});

ipcMain.handle("fetchData", async function (arg) {
  let file = await fs.readFileSync(path.resolve(__dirname, "data.json"), {
    encoding: "utf8",
  });
  let dataCollection = JSON.parse(file);
  return dataCollection;
});

try {
  require("electron-reloader")(module);
} catch (_) {}
 

и вот мой runderer.js

 let ipcRenderer = require("electron").ipcRenderer;
const $ = require("jquery");

ipcRenderer.invoke("fetchData", "check").then((result) => {
  if($('#data').length){
    result.forEach(({domain, username, password}) => {
        $('#data').append(`<tr><td>${domain}</td><td>${username}</td><td>${password}</td></tr>`);
    });
  }
});

$("#new-credentials").on("submit", function (ev) {
  ev.preventDefault();
  let formValue = $(this).serializeArray();
  let data = {};
  formValue.forEach((item) => {
    data[item["name"]] = item["value"];
  });
  ipcRenderer.send("passwordSubmit", data);
  $(this)[0].reset();
  window.location.href = "index.html";
});
 

Вот команда, используемая для распространения сборки

 electron-forge make
 

Any help will be appreciated.