我可以指定一个配置文件,打包后用电子构建器编译的可执行文件可以访问吗?

时间:2019-05-29 16:16:45

标签: javascript electron electron-builder

我正在构建一个Electron应用程序,其中客户端要求服务器提供存储在服务器上JSON文件中的信息。如何编译服务器应用程序(使用电子生成器或其他工具),然后包含已编译的可执行文件有权访问的JSON文件?

我已经浏览了Electron和electron-builder文档,但找不到任何相关信息。

最后,我需要将JSON文件放置在打包的服务器应用程序之外,以便使用它的人可以对其进行自由修改。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

在询问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告诉电子制造商要从何处提取哪个文件:

"build": {
    "extraResources": [
        {
            "filter": ["./config.json"]
        }
    ]
}

当然,filter是一个数组,您可以继续指定想要保留在外部的文件,只需用逗号将它们删除即可!

我希望这对其他可能遇到问题的人有所帮助!