2017-06-25 2 views
-1

je veux exécuter un script qui va créer un répertoire et dans un fichier et sous-répertoire, quelque chose comme çala création d'un répertoire avec des sous-répertoires et fichiers dans le nœud

main-folder 
    > sub-folder 
    > file 

Jusqu'à présent, je ne l'ai pas eu de chance, ma pensée essaye d'écrire dans la fonction mkDir

const fileGenerator = (fileName, fileContent) => { 
    fs.writeFile(fileName, fileContent, (err) => { 
     if (err) throw err; 
     console.log('The file has been saved!'); 
    }); 
} 

fs.mkdir('main-folder', err => { 
    if (err) { 
     console.log(err); 
    } else { 
     fileGenerator('index.html', 'hello'); 
     console.log('Directory Created'); 
     fs.mkdir('sub-folder', err => { 
     if (err) { 
      console.log(err); 
     } else { 
      console.log('Directory Created'); 
     } 
    }) 
    } 
}) 

Répondre

1

Le code fonctionne comme 'inteded'. L'endroit où vous créez votre sous-dossier et fichier est juste le rappel. La fonction mkdir du système de fichiers du noeud a toujours besoin du chemin d'accès complet. Il ne sait pas que c'est sous "dossier principal".

Voir le code modifié:

const fs = require('fs'); 
const fileGenerator = (fileName, fileContent) => { 
    fs.writeFile(fileName, fileContent, (err) => { 
     if (err) throw err; 
     console.log('The file has been saved!'); 
    }); 
} 

fs.mkdir('main-folder', err => { 
    if (err) { 
     console.log(err); 
    } else { 
     fileGenerator('main-folder/index.html', 'hello'); 
     console.log('Directory Created'); 
     fs.mkdir('main-folder/sub-folder', err => { 
     if (err) { 
      console.log(err); 
     } else { 
      console.log('Directory Created'); 
     } 
    }) 
    } 
}) 

Votre code créé le principal dossier, sous-dossier et index.html, juste par rapport à tous les fichiers js.