在 Electron 中打开带有扩展名的文件

Posted

技术标签:

【中文标题】在 Electron 中打开带有扩展名的文件【英文标题】:Opening File with Extension in Electron 【发布时间】:2018-10-12 03:27:32 【问题描述】:

我正在努力做到这一点,因此当单击.ito 文件时,我的电子应用程序会打开并执行某些操作。我使用electron-builder 作为我的构建系统,并看到它在configuration documentation 中指定了一个fileAssociations 字段。我遇到的问题是它似乎没有记录在应用程序中调用了什么函数。

我浏览了所有文档并尝试实现 icpMain 事件侦听器,但找不到我正在寻找的侦听器的名称。

【问题讨论】:

【参考方案1】:

我无法准确回答您的问题,因为我不需要在我的 Electron 应用程序中设置文件关联,但是,在 macOS 上,我可以在从 Finder 中强制删除文件时调用一些代码(同时按下 Option 和 Command 键)在 Dock 中我的应用程序图标上。

在 macOS 上,您必须从主进程中侦听 app 事件 open-file。

来自渲染器进程,使用remote,此代码适用于我:

require('electron').remote.app.on('open-file', (event, path) =>

    event.preventDefault();
    console.log(path);
);

在 Windows 上,您似乎必须解析 process.argv 才能获取文件路径。

【讨论】:

以上是关于在 Electron 中打开带有扩展名的文件的主要内容,如果未能解决你的问题,请参考以下文章

打开带有 2 个“扩展名”的文件时出现 Jet 错误 3011

在Node / Electron环境中共享ESM“.js”模块

linux 没有后缀的文件怎么打开

在创建的程序中保存带有数据的文件

Electron DevTools扩展

如何在 Electron 中安装 MetaMask 扩展?