我正在使用Electron创建一个多平台应用程序,我正在尝试使用电子构建器建立文件关联。
我已将它添加到配置中并且工作正常,当我双击文件时,它会打开应用程序,这是预期的,但我不知道如何在我的电子应用程序上接收该文件,我'谷歌搜索,看了电子生成器回购的问题,但没有找到任何东西。到目前为止我唯一发现的是你假设你把它作为一个自定义协议来处理,如果我想从路径或网址打开文件,对我来说很有意义,但是我不明白如何双击一个文件会触发自定义协议,当您双击与您的应用相关联的文件时,电子是否使用定义的自定义协议?
我还没有在官方文档上找到任何内容,有什么帮助吗?
提前谢谢。
答案 0 :(得分:0)
与Electron的文件关联与常规的Node.js应用程序相同:您可以从process.argv
array的调用者那里获取参数。
但是,有一个窍门:打包应用程序时(即,在asar文件中),argv
的参数编号与在“开发”模式下运行时的参数编号不同。
您可以利用app.isPackage()
(doc)有所作为:
if (app.isPackaged) {
// workaround for missing executable argument)
process.argv.unshift(null)
}
// parameters is now an array containing any files/folders that your OS will pass to your application
const parameters = process.argv.slice(2)
有关此here的更多详细信息。