javascript - 我应该如何在 Electron 中处理面向用户的插件?
问题描述
我想在我的 Electron 应用程序中添加一个插件系统,以便我的用户可以向我的应用程序添加新功能。我最初的想法是让我的用户上传一个.zip
包含插件,然后它会提取,并要求插件在应用程序中使用它。然后我遇到了这个想法的问题。
- 由于我无法使用
npm
(例如lodash
),我应该如何处理具有依赖关系的插件? - 如何为插件提供 API 以使用(例如获取应用程序主题或资源名称)
我不确定如何处理这种情况,我已经四处寻找类似的案例,但没有找到。我的最终目标是拥有一个在 Electron 中工作的系统,类似于 Wordpress 插件的工作方式。
解决方案
您可以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
推荐阅读
- python - 如何修复“Pyside2”中模糊的 qpixmap
- git - 用于协作的子模块或子树
- regex - Nginx 使用映射和正则表达式从访问日志中排除 URL 以捕获 URL 中的部分单词
- javascript - 如何引用 WinDbg 中不同脚本中定义的 JavaScript 函数?
- google-cloud-platform - Google Dataprep 副本从一个项目流向另一个项目
- c# - DateTime.Compare() 在相同的 DateTimes 上返回 1
- amazon-web-services - 如何在运行 lambda 函数时从 s3 安装软件包
- python - 在列表中搜索未知项目并附加到变量
- python - 什么是实现共享队列的最佳方法,工作人员推送数据并掌握在 Python 中有效地获取批处理数据?
- error-handling - SSIS foreach循环,根据处理过程中的任何错误将每个文件移动到文件夹完成或错误