使用node.js保存json文件

时间:2017-09-06 12:21:19

标签: javascript json node.js save fs

我是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不是函数”打印到控制台中。

非常感谢。

1 个答案:

答案 0 :(得分:0)

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

node: {
  fs: 'empty'
}

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

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

如果您希望用户保存文件,则必须使用基于浏览器的保存解决方案。您无法在浏览器的本地存储空间之外随意编写文件。