electron - 在 Electron Builder 中包含 dll 文件
问题描述
我有一个 dll 文件,我需要将其用于由我的 Electron 项目中的主进程启动的单独进程。
所以我想在我的电子项目中包含这个 dll,我正在使用电子生成器来构建项目。问题是我不知道如何在没有将其添加到 asar 包中的情况下包含该文件,这无法直接从单独的进程中访问。当我app.getPath()
用来获取正在运行的实例的路径时,它看起来像这样:
C:\installPath\myProject\resources\app.asar\my.dll
我的 electron-builder.json 目前看起来像这样:
{
"productName": "myApp",
"directories": {
"output": "release/"
},
"files": [
"**/*",
"my.dll"
],
"win": {
"icon": "dist",
"artifactName": "myApp.${ext}",
"target": [
"portable"
]
}
}
有没有办法让 my.dll 包含在资源文件夹(或其他地方)而不是 app.asar 中?
谢谢!
解决方案
解决方案1:您应该可以使用“extraResources”参数来完成,将您的 .dll 放在资源文件夹下,然后在目标 dist 下创建名为“extraResources”的配置参数。
安装过程应将文件复制到应用程序的资源目录
https://www.electron.build/configuration/contents#extraresources
解决方案2:您可以从 Web 服务器下载 .dll 文件,然后使用 fs 将其移动到所需的位置。