Как мне обращаться с пользовательскими плагинами в Electron? - PullRequest
0 голосов
/ 20 ноября 2018

Я хотел бы добавить систему плагинов в свое приложение Electron, чтобы мои пользователи могли добавлять новые функции в мое приложение.Первоначально я думал, что я позволю моим пользователям загружать .zip, содержащий плагин, а затем он будет извлекаться и требовать, чтобы плагин использовал его в приложении.Затем у меня возникли проблемы с идеей.

  1. Как мне обращаться с плагином, который имеет зависимости, так как я не могу использовать npm (например, lodash)?
  2. Как я могудать плагину API для использования (например, получение темы приложения или имени ресурса)

Я не уверен, как это можно сделать, я искал похожие случаи, но не нашел их.Моя конечная цель - создать систему, работающую в Electron, аналогичную работе плагинов Wordpress.

1 Ответ

0 голосов
/ 28 ноября 2018

Вы можете использовать npm как дочерний процесс.

Вы можете реализовать свой собственный:

require('child_process').exec(
  'npm ...',
  { maxBuffer: 1024 * 500 },
  function (error, stdout, stderr) {
    var response = JSON.parse(stdout).dependencies;
    ...
  }
);

или использовать библиотеку, например: https://github.com/getstation/electron-package-manager

...