Modus operandi предварительной загрузки. js? - PullRequest
0 голосов
/ 06 февраля 2020

Я довольно новичок в разработке электронов и адаптировал код из этого потока , чтобы иметь доступ к методам ip c в рендере, для которого nodeIntegration установлен в false . Кажется, все работает, я просто хотел спросить, есть ли у кого-нибудь еще примеры использования / ограничения для этой техники, прежде чем я go сойдет с рельсов и просто вставлю туда каждый модуль.

Вот моя версия кода из вышеупомянутого потока, на этот раз с модулем Electron-Promise-IP c:

предзагрузка. js

const { contextBridge, ipcRenderer } = require("electron");
const promiseIpc = require('electron-promise-ipc');

contextBridge.exposeInMainWorld(
    "api", {
    send: (channel, data) => {
        // whitelist channels
        let validChannels = [
            "toMain",
            "/get/comp",
            "/post/comp"
        ];
        if (validChannels.includes(channel)) {
            ipcRenderer.send(channel, data);
        }
    },
    promise: (channel, data, func) => {
        let validChannels = [
            "toMain",
            "/get/comp",
            "/post/comp",
            "test"
        ];
        if (validChannels.includes(channel)) {
            promiseIpc.send(channel, data).then((res) => {func(res)});
        }       
    },
    receive: (channel, func) => {
        let validChannels = [
            "fromMain",
            "/get/comp"
        ];
        if (validChannels.includes(channel)) {
            ipcRenderer.on(channel, (event, ...args) => func(...args));
        }
    },
}
);

рендер / приложение. js (приложение React)

    getComps = () => {
        window.api.promise('/get/comp', { message: "Querying Compendiums..." }, (res) => {
            this.setState({ comps: res });
        });
    }

    createComp = (form) => {
        window.api.promise('/post/comp', form, (res) => {
            this.setState({ comps: res });
        });
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...