我是Node server / javacsript的新手。所以如果这可能是愚蠢的我很抱歉 问题/主题。
我打算创建一个非常简单的解决方案来打开JSON文件,加载到列表,然后将其保存回本地磁盘(运行node.js服务器)。
你可以帮帮我,我做错了什么?我在浏览器中使用react运行应用程序。包含
的index.js var fs = require('fs');
var fileName = './test.json';
var file = require('./test.json');
alert(file.name + " " + file.age);
file.name = "Peter";
alert(file.name + " " + file.age);
fs.writeFile('./test.json', JSON.stringify(file), function (err) {
if (err) return alert(err);
console.log(JSON.stringify(file));
alert('writing to ' + fileName);
});
之前我甚至无法打开JSON文件。我需要将此属性包含在webpack配置文件中。
node: {
fs: 'empty'
}
现在我可以打开JSON文件,虚拟更改,但无法保存。 在chrome developer工具中,它将“ fs.writeFile不是函数”打印到控制台中。
非常感谢。
答案 0 :(得分:0)
当您在webpack配置中包含该属性
时node: {
fs: 'empty'
}
你告诉webpack模块fs
应该只是一个空对象。您可以通过在文件中放置console.log(fs)
来确认它确实为空。
除此之外,fs
无法在您的浏览器中运行。 fs
期望node.js运行时(包括非JavaScript的东西以使其工作),而不是浏览器的运行时。
如果您希望用户保存文件,则必须使用基于浏览器的保存解决方案。您无法在浏览器的本地存储空间之外随意编写文件。