我遵循this tutorial创建了我的Electron/React应用程序,并且我的代码与本教程的代码大致相同。但是,我发现无法使用“fs.writeFile”在本地加载或保存文件。我收到错误“ Uncaught TypeError:fs.writeFile不是函数”,即使intellisense知道fs是什么。
我目前正在使用此语句来实现并调用fs:
const fs = require('fs');
fs.writeFile(JSONFile, window.JSONObj);
我对Electron和React都很陌生,所以我不确定如何解决此问题。我过去创建了一个Electron应用程序(没有React),但是没有这个问题。任何有关如何解决此问题的技巧将不胜感激。
编辑:我终于解决了我的问题。我没有使用最初使用的教程,而是找到了this tutorial,它显示了如何创建一个允许使用“fs”的Electron/React应用程序。根据文章,问题在于“Electron 渲染器”需要成为“Webpack目标”。
最佳答案
本教程有些过时了。现在,默认情况下,Electron没有为渲染器进程(浏览器窗口)启用 Node 。您可以通过以下方法启用它,以便可以通过创建的窗口访问 Node 的fs
API:
new BrowserWindow({
// your window configuration
webPreferences: {
nodeIntegration: true
}
});
引用:https://www.electronjs.org/docs/api/browser-window
请注意,此更改是出于安全原因。您可能会重构代码以将消息发送到主进程,该主进程又可以执行与文件系统的交互。
安全引用:https://www.electronjs.org/docs/tutorial/security
关于javascript - 将Electron与React一起使用时的“Uncaught TypeError: fs.writeFile is not a function”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61916343/