javascript / intermediate
Snippet
Plattformübergreifende Pfade in ESM
In ES-Modulen (ESM) sind gängige Variablen wie __dirname nicht verfügbar. Die Verwendung des URL-Konstruktors mit import.meta.url ist der standardmäßige, plattformübergreifende Weg, um Pfade relativ zur aktuellen Datei in Node.js aufzulösen.
snippet.js
javascript
1
2
3
4
5
6
import { readFile } from 'node:fs/promises';const configUrl = new URL('./config.json', import.meta.url);const data = await readFile(configUrl, 'utf-8');console.log(JSON.parse(data));
nodejs
Erklärung
1
new URL('./config.json', import.meta.url);
Erstellt ein URL-Objekt, das auf eine Datei relativ zum Speicherort des aktuellen Moduls zeigt.
2
await readFile(configUrl, 'utf-8');
Die fs/promises-Methoden können URL-Objekte direkt akzeptieren, was die Pfadbehandlung sauberer macht.