我正在尝试按照此处的教程使用React和Electron编写一些概念证明应用程序:
https://medium.com/@brockhoff/using-electron-with-react-the-basics-e93f9761f86f
我有一个按钮叫做“救救我!”在App组件中。我编写了处理程序,以将“ Hello World”打印输出到控制台,该方法可以正常工作,因此我知道处理程序不是问题。在内存中,我有一个简单的对象:
var json = {
"foo":"bar",
"bar":"none"
}
在处理程序中,是将json
的内容写入文件的典型函数:
var fs = require('fs');
fs.writeFile("temp.txt", json, (err) => {
if (err) console.log(err);
console.log("Successfully Written to File.");
});
但是,当我按下按钮时,控制台会显示一条错误消息,指出fs.writeFile
不是一个函数。这里有帮助吗?
编辑: 为什么“重复”问题中的帖子字面意思是:
还可以看看https://electronjs.org/,它允许您使用 您的“本机”类React应用中的诸如fs之类的nodejs API。
当添加电子显然在两者之间有明显区别时,这是一个重复的问题吗?
编辑2:为澄清起见,fs
确实在Electron上工作。我不得不以某种怪异的方式调用它:
var app = window.require('electron').remote;
const fs = app.require('fs');
对于window.require
遇到问题的任何人,请使用rm -rf node_modules && npm install
重新安装您的节点模块
https://github.com/electron/electron/issues/7300
问题解决了。