Die mkdir
Methode kann rekursiv Verzeichnisse in einem Pfad erstellen , die nicht vorhanden sind, und diejenigen ignorieren, die dies tun.
Aus den Node v10 / 11-Dokumenten :
// Creates /tmp/a/apple, regardless of whether `/tmp` and /tmp/a exist.
fs.mkdir('/tmp/a/apple', { recursive: true }, (err) => {
if (err) throw err;
});
HINWEIS: Sie müssen zuerst das integrierte fs
Modul importieren .
Hier ist ein etwas robusteres Beispiel, das native ES-Module (mit aktiviertem Flag und Erweiterung .mjs) nutzt, Nicht-Root-Pfade verarbeitet und vollständige Pfadnamen berücksichtigt:
import fs from 'fs';
import path from 'path';
createDirectories(pathname) {
const __dirname = path.resolve();
pathname = pathname.replace(/^\.*\/|\/?[^\/]+\.[a-z]+|\/$/g, ''); // Remove leading directory markers, and remove ending /file-name.extension
fs.mkdir(path.resolve(__dirname, pathname), { recursive: true }, e => {
if (e) {
console.error(e);
} else {
console.log('Success');
}
});
}
Sie können es wie verwenden createDirectories('/components/widget/widget.js');
.
Und natürlich möchten Sie wahrscheinlich mehr Lust bekommen, indem Sie Versprechen mit async / await verwenden, um die Dateierstellung beim Erstellen der Verzeichnisse besser lesbar und synchron zu gestalten. Aber das geht über den Rahmen der Frage hinaus.