在 React/TypeScript/Webpack 中覆盖 JSON 文件

Posted

技术标签:

【中文标题】在 React/TypeScript/Webpack 中覆盖 JSON 文件【英文标题】:Overwriting JSON file in React/TypeScript/Webpack 【发布时间】: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);


【问题讨论】:

【参考方案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.

【讨论】:

以上是关于在 React/TypeScript/Webpack 中覆盖 JSON 文件的主要内容,如果未能解决你的问题,请参考以下文章

秋的潇洒在啥?在啥在啥?

上传的数据在云端的怎么查看,保存在啥位置?

在 React 应用程序中在哪里转换数据 - 在 Express 中还是在前端使用 React?

存储在 plist 中的数据在模拟器中有效,但在设备中无效

如何在保存在 Mongoose (ExpressJS) 之前在模型中格式化数据

如何在保存在 Mongoose (ExpressJS) 之前在模型中格式化数据