Lösungen
-
CommonJS
const fs = require('fs');
const path = require('path');
const dir = path.resolve(path.join(__dirname, 'upload');
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir);
}
// ODER
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir, {
mode: 0o744, // Nicht auf Windows unterstützt. Standard: 0o777
});
}
-
ESM
Aktualisieren Sie Ihre package.json
Datei-Konfiguration
{
// deklarieren Sie die Verwendung von ECMAScript-Modulen (ESM)
"type": "module",
//...
}
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
// Erstellen Sie ein benutzerdefiniertes `__dirname`, da es in der ES-Modul-Umgebung nicht existiert.
// Verwenden Sie `import.meta.url`, um die URL des aktuellen Moduls zu erhalten,
// dann erhalten Sie den absoluten Pfad des Ordners des Moduls
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const dir = path.resolve(path.join(__dirname, 'upload');
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir);
}
// ODER
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir, {
mode: 0o744, // Nicht auf Windows unterstützt. Standard: 0o777
});
}
Aktualisierung 2022
import { existsSync } from 'node:fs';
Verweise
NodeJS Version: v18.2.0
https://nodejs.org/api/fs.html#fsexistssyncpath
https://nodejs.org/api/fs.html#fsmkdirsyncpath-options
https://nodejs.org/api/url.html#urlfileurltopathurl
https://github.com/nodejs/help/issues/2907#issuecomment-757446568
ESM: ECMAScript-Module
https://nodejs.org/api/esm.html#introduction