javascript - 如何使用 Electron 和 React 从外部配置文件管理动态变量

标签 javascript reactjs electron

我正在使用 React 开发一个 Web 应用程序,并希望分发使用 Electron 框架构建的客户端。
用户将有可能更改他的服务器 URL,因此我想提供修改配置文件以设置后端 url 以允许客户端收听它的可能性。
最初在使用 Electron 之前,我在我的公共(public)文件夹中创建了一个 config.js 文件,如下所示:

config = {
    "BACKEND_URL": "http://localhost:3000"
}
然后在我的 index.html 中添加一个标签来指向这个脚本。在我的 React 组件中,我使用了 window.config.BACKEND_URL获取服务器 URL。
是否有任何实用的解决方案可以使用捆绑的 Electron 应用程序做类似的事情?提前致谢

最佳答案

我可以建议 secure-electron-template 用于您的应用程序?它有一个现有的 store以安全的方式管理键/值对文件中的变量。
可以通过这种方式使用库,这可以在任何 react 组件中完成。否则,模板在 Electron 组件中内置了读取/写入存储的示例:
读数值

import { readConfigRequest, readConfigResponse } from "secure-electron-store";

// ...

window.api.store.onReceive(readConfigResponse, function(args){
    if (args.success){
         console.log(`Received '${args.key}:${args.value}' from file.`);
    }    
});
window.api.store.send(readConfigRequest, "myvalue");
写入值
import { writeConfigRequest } from "secure-electron-store";

// ...

window.api.store.send(writeConfigRequest, "myvalue", "14");
我是图书馆的作者

关于javascript - 如何使用 Electron 和 React 从外部配置文件管理动态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63599463/

相关文章:

javascript - Node.js jsdom错误

javascript - ReactJS-浏览器验证错误: no_account_error: No account object provided to acquireTokenSilent and no active account has been set

javascript - React JS setState(...) : Can only update a mounted or mounting component

TypeScript:如何不使用相对路径导入类?

reactjs - 属性在类型 Window 和 typeof globalThis 上不存在

javascript - 持久的上游 cometd 式连接

javascript - Ajax 发送 FormData 并检索多维数组

javascript - 只能在计算器上计算平方

reactjs - 如何对静态类成员使用查找类型?

javascript - Electron 桌面应用程序的表单操作提交