在 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?