javascript - 有没有办法使用电子反应将文件本地存储在计算机上
问题描述
我正在使用电子和反应钩子来制作一个名为风险的游戏。游戏将是单人游戏。我希望它就像一个普通的桌面应用程序,可以在没有互联网或任何东西的情况下运行。玩家可以制作自己的地图并存储在计算机上。我无法找到任何方法来使用反应在计算机上本地读取和写入文件?
我看过一些 stackoverflow 帖子,上面说没有服务器就不可能在客户端系统上读取和写入数据。如果这是真的,那么将反应应用程序与节点连接并写入文件的最简单方法是什么。我想过使用socket.io
. 在这种情况下它会起作用吗?
解决方案
要在电子中启用节点集成,将节点上下文(和模块)公开给渲染器进程,您可以将nodeIntegration
属性设置为true
:
mainWindow = new BrowserWindow({
// All your other options
"webPreferences": {
"nodeIntegration": true
}
});
然后,您可以简单地使用该fs
模块在文件系统上读取和写入文件。
文档链接:https ://www.electronjs.org/docs/api/browser-window
另一种解决方案是发送 IPC 消息以将映射从渲染器进程发送到主进程(反之亦然),并且由于主进程在 Node 上下文中运行,因此您可以fs
直接调用方法。
推荐阅读
- javascript - HTML / Javascript : Open window in a new context
- css-animations - 停止填充左侧文本动画
- php - 动态列/属性。卡住。需要灵感
- r - 在R中反转正则表达式
- ios - React Native - npx react-native run-ios 在初始化项目后不起作用
- php - 相互使用两个特征的正确方法是什么
- c - 为什么 4/14 在 C 中是 0.00000
- azure - 如何使用保存在 Azure Blob 中的遥测数据来构建报告?
- javascript - 带有 Electron-Vue.js 的串口
- python - df.groupby('MONTH')['TASKTYPE'].value_counts().unstack().loc[month_order].plot.bar(stacked=True) - KeyError