我可以指定一个配置文件,让用 electron-builder 编译的可执行文件在打包后可以访问吗?
Can I specify a config file that an executable compiled with electron-builder can access after packaging?
我正在构建一个 Electron 应用程序,客户端向服务器请求存储在服务器 JSON 文件中的信息。我如何编译服务器应用程序(使用 electron-builder 或其他),然后包含编译后的可执行文件可以访问的 JSON 文件?
我查看了 Electron 和 electron-builder 文档,但找不到任何相关信息。
最后,我需要将 JSON 文件放在打包的服务器应用程序之外,以便用户可以自由修改它。
感谢所有帮助!
编辑:我已经解决了我的问题。请参考解释我的解决方案!
在 Electron Slack 聊天室询问后,我得知我可以使用 Node 的 fs 模块来引用文件的位置,并使用 electron-builder 的 extraResources 选项将该文件移出 EXE编译后
例如,如果您想引用 config.json,您可以在 main.js 文件中这样引用它:
const { readFileSync } = require('fs');
var configFile = JSON.parse(readFileSync('./config.json'));
然后,在您的 package.json 文件中,您将使用 extraResources 告诉 electron-builder 从哪里提取什么文件:
"build": {
"extraResources": [
{
"filter": ["./config.json"]
}
]
}
当然,由于 filter
是一个数组,您可以继续指定您希望保留在外部的文件,只需用逗号分隔它们即可!
我希望这对其他可能遇到问题的人有所帮助!
我正在构建一个 Electron 应用程序,客户端向服务器请求存储在服务器 JSON 文件中的信息。我如何编译服务器应用程序(使用 electron-builder 或其他),然后包含编译后的可执行文件可以访问的 JSON 文件?
我查看了 Electron 和 electron-builder 文档,但找不到任何相关信息。
最后,我需要将 JSON 文件放在打包的服务器应用程序之外,以便用户可以自由修改它。
感谢所有帮助!
编辑:我已经解决了我的问题。请参考
在 Electron Slack 聊天室询问后,我得知我可以使用 Node 的 fs 模块来引用文件的位置,并使用 electron-builder 的 extraResources 选项将该文件移出 EXE编译后
例如,如果您想引用 config.json,您可以在 main.js 文件中这样引用它:
const { readFileSync } = require('fs');
var configFile = JSON.parse(readFileSync('./config.json'));
然后,在您的 package.json 文件中,您将使用 extraResources 告诉 electron-builder 从哪里提取什么文件:
"build": {
"extraResources": [
{
"filter": ["./config.json"]
}
]
}
当然,由于 filter
是一个数组,您可以继续指定您希望保留在外部的文件,只需用逗号分隔它们即可!
我希望这对其他可能遇到问题的人有所帮助!