From 686a132c05d3e7b52bc57c483573953a18a535e4 Mon Sep 17 00:00:00 2001 From: Thomas Charlat Date: Thu, 7 Sep 2017 01:59:05 +0200 Subject: [PATCH] refactor(exercises/03) --- 03_fs/README.md | 25 +++++++++++++++++++++++++ 03_fs/{run.js => correction.run.js} | 2 +- 03_fs/ex03.test.js | 4 ++++ 3 files changed, 30 insertions(+), 1 deletion(-) rename 03_fs/{run.js => correction.run.js} (98%) diff --git a/03_fs/README.md b/03_fs/README.md index e69de29..8c9cb3e 100644 --- a/03_fs/README.md +++ b/03_fs/README.md @@ -0,0 +1,25 @@ +Écrivez un programme qui utilise les modules `fs` et `path` pour rechercher et afficher dans la console le chemin vers le fichier `coucou.txt`, créer un dossier `jtutu` et y copier le fichier `coucou.txt` + +--- + +## CONSEILS + +Les modules nodejs exposent de nombreuses méthodes. Référez vous à la documentation sur le site de node. + +[-> fs](https://nodejs.org/api/fs.html) +[-> path](https://nodejs.org/api/path.html) + +Les accès au système de fichier peuvent être synchrones ou asynchrones. + +```javascript + // sync + const contenuDuDossier = fs.readdirSync('/chemin/du/fichier'); +``` +```javascript + // async + fs.readdir('/chemin/du/fichier', (erreur, contenuDuDossier) => { + // suite du code + }); +``` + +Utiliser les api asynchrones peut être déroutant, les callback imbriqués peuvent rendre le projet complexe, voir provoquer le redouté [callback hell](http://callbackhell.com/) diff --git a/03_fs/run.js b/03_fs/correction.run.js similarity index 98% rename from 03_fs/run.js rename to 03_fs/correction.run.js index bacb770..979825b 100644 --- a/03_fs/run.js +++ b/03_fs/correction.run.js @@ -16,6 +16,6 @@ fs.mkdir(folder, function(err) { fs.writeFile(toPath, data, options, (err) => { if (err) throw err; - }) + }); }); }); diff --git a/03_fs/ex03.test.js b/03_fs/ex03.test.js index 7e7aa36..8937f5d 100644 --- a/03_fs/ex03.test.js +++ b/03_fs/ex03.test.js @@ -11,6 +11,10 @@ describe('Exercice 3', () => { rm(path.resolve(__dirname, 'jtutu'), done); }); + after((done) => { + rm(path.resolve(__dirname, 'jtutu'), done); + }); + it('Créez un ficher "run.js"', () => { assert(fs.existsSync(path.join(__dirname, 'run.js')), 'Le fichier "run.js" est manquant'); }); -- 2.45.2