я пытаюсь добавить массив из внешнего источника в preload.js в электроне

// Import the necessary Electron components.
const contextBridge = require("electron").contextBridge;
const ipcRenderer = require("electron").ipcRenderer;
// const json = require("./html/nature/nature.json")
var remote = require("electron").remote;

var electronFs = require("fs");

let data = JSON.parse(electronFs.readFileSync("./html/nature/nature.json"));
let data2 = Object(data.content_card);

let result = data2.map((x) => x.message);
console.log(result);



let arr = ["message:home"]
let arr2 = result;

Array.prototype.push.apply(arr, arr2);


console.log(arr)

const ipc2 = {
    render: {
        // From render to main.
        send: arr,
        // From main to render.
        receive: [],
        // From render to main and back again.
        sendReceive: [],
    },
};

// Exposed protected methods in the render process.
contextBridge.exposeInMainWorld(
    // Allowed 'ipcRenderer' methods.
    "ipcRender",
    {
        // From render to main.
        send: (channel, args) => {
            let validChannels = ipc2.render.send;
            if (validChannels.includes(channel)) {
                ipcRenderer.send(channel, args);
            }
        },
        // From main to render.
        receive: (channel, listener) => {
            let validChannels = ipc2.render.receive;
            if (validChannels.includes(channel)) {
                // Deliberately strip event as it includes `sender`.
                ipcRenderer.on(channel, (event, ...args) => listener(...args));
            }
        },
        // From render to main and back again.
        invoke: (channel, args) => {
            let validChannels = ipc2.render.sendReceive;
            if (validChannels.includes(channel)) {
                return ipcRenderer.invoke(channel, args);
            }
        },
    }
);

Проблема в том, что оно как-будто не передает значения внутрь, если я вставляю напрямую

let arr = ["message:home"]
let arr2 = ["message:people"];

Array.prototype.push.apply(arr, arr2);

то все работает, но я не могу подгрузить набор из внешнего источника в моем случае json файла, что я делаю не так?


Ответы (0 шт):