使用 node.js 保存 json 文件

Use node.js to save json file

我是 Node 的新手 server/javacsript。所以我很抱歉,如果这可能是愚蠢的 question/topic.

我打算创建一个非常简单的解决方案来打开 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 开发人员工具中,它会在控制台中打印“fs.writeFile is not a function”。

非常感谢。

当您在 webpack 配置中包含 属性 时

node: {
  fs: 'empty'
}

你告诉 webpack 模块 fs 应该只是一个空对象。您可以通过简单地在文件中放置一个 console.log(fs) 来确认它确实是空的。

除此之外,fs 将无法在您的浏览器中运行。 fs 期望 node.js 运行时(包括非 JavaScript 的东西以使其工作),而不是浏览器的运行时。

如果您希望用户保存文件,则必须使用基于浏览器的保存解决方案。你将无法在浏览器的本地存储之外任意写入这样的文件。