ค้นหาเว็บไซต์

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);