javascript - การเขียนทับไฟล์ JSON ใน React/TypeScript/Webpack
ฉันกำลังทำโปรเจกต์ 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
เว็บเบราว์เซอร์ไม่ให้ API สำหรับเข้าถึงระบบไฟล์ ดังนั้นน่าเสียดาย การเขียนไปยังไฟล์จึงไม่สามารถทำได้ในตอนนี้
เคยมีสเปค API ของระบบไฟล์อยู่ แต่ตอนนี้ไม่ได้มาตรฐานแล้ว
คำตอบ #2
คุณกำลังนำ fs.writeFile ไปใช้อย่างไร?
คำนึงถึงว่าสิ่งแรกที่คุณต้องทำคือเรียกใช้งานฟังก์ชัน: const fs=require('fs');
จากนั้นโค้ดน่าจะเป็นประมาณนี้: fs.writeFile('localFile.json', json, 'utf8', modifiedJson);