Dennoch bleibt ein Problem, was ich weiter oben schon angesprochen hatte, erhalten:
Wie lese ich in .json -Dateien hinterlegte Daten aus und integriere sie in die Webseite (die dann quasi als Template fungiert)?
Von der Technik her ist mir das eigentlich klar:
- Datei einlesen (hier würde ich fs.readJsonSync verwenden / Modul:fs-extra)
- entsprechende Elemente generieren und in die HTML Datei integrieren
- Inhalt in Elemente
- HTML-Datei ausliefern
Aber rein praktisch fehlts mir vielleicht an einem Beispiel. Jedenfalls bekomme ich das mit node.js und Javascript nicht hin.
Benutz lieber fsPromises
um Dateien zu lesen, damit kannst du den Code synchron aussehen lassen und dennoch die Vorteile von non-blocking IO genießen. Was den Platzhalter betrifft, könntest du bswp. Template-Literale benutzen. Das Grundgerüst dafür könnte so aussehen:
async function readAndSend () {
const json = await fsPromises.readFile(path);
const html = `<html>… <script type="text/json">${json}</script> …</html>`;
response.send(html);
}
readAndSend();