【问题标题】:Overwriting JSON file in React/TypeScript/Webpack在 React/TypeScript/Webpack 中覆盖 JSON 文件
【发布时间】:2019-01-11 15:12:41
【问题描述】:

我正在做一个 react 项目,我读取 json 文件没有问题。我也可以对此进行更改。但是要写回来,我做不到。我试过 fs.writefile 但它也不会工作。有一个示例代码,我只能进行文件下载,这不是我想要的。希望大家帮忙

public CreateEntry(){
    var txt = JSON.stringify(data);
    var parsedtxt = JSON.parse(txt || '{}');
    var indexLength = parsedtxt.kitaplar.length;

    var book = document.getElementById("createName") as HTMLInputElement;
    var writer = document.getElementById("createWriter") as HTMLInputElement;
    var publisher = document.getElementById("createPublisher") as HTMLInputElement;

    parsedtxt.kitaplar.push({
        "kitap": book.value,
        "yazar": writer.value,
        "yayinevi": publisher.value
    });

    var resultTxt = JSON.stringify(parsedtxt);
    var file = new File([resultTxt],"kitap.json", {type: "text/plain;charset=utf-8"});
    FileSaver.saveAs(file);

}

【问题讨论】:

    标签: javascript json reactjs typescript webpack


    【解决方案1】:

    你们是如何实现fs.writeFile的?

    考虑到您首先需要该功能:const fs = require('fs');

    那么代码应该是这样的: fs.writeFile('localFile.json', json, 'utf8', modifiedJson);

    【讨论】:

    • 我像你说的那样导入并使用了这段代码,fs.writeFile('kitap.json', resultTxt, 'utf8', function (err: any) { if (err) { return console.log(err); } console.log("The file was saved!"); }); 但它给出了 Uncaught TypeError: fs.writeFile is not a function error
    • 我也尝试使用browserify-fs,它似乎有效,但它也说文件保存在index.js上。不幸的是它不存在......我无法更改目录
    【解决方案2】:

    浏览器不提供 API 来访问文件系统。所以很遗憾,目前无法写入文件。

    有一个文件系统 API 规范,但它是 no longer being standardized.

    【讨论】:

      猜你喜欢
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 2015-10-02
      • 2022-12-04
      • 1970-01-01
      • 1970-01-01
      • 2020-11-17
      • 2020-10-17
      相关资源
      最近更新 更多