V tomto článku predstavím spôsob, ktorým je možné skontrolovať existenciu adresára a ak adresár neexistuje, tak bude vytvorený. Niektoré pluginy v gulpe totiž nevedia vytvárať vnorené adresáre a sú schopné vytvoriť len prvú úroveň. V takomto prípade je potrebné detegovať existenciu adresára a ak adresár neexistuje, je potrebné ho vytvoriť, inak nasledujúca operácia zlyhá.Tento problém sa vyskytuje napríklad pri práci s pluginom fs-extra. Tento plugin používam na kopírovanie adresárov. V nasledujúcom príklade budem demonštrovať kopírovanie súborov z Bootstrapu, ktorý je súčasťou Bowera, resp. spravovaný pod Bowerom. Existenciu adresára budem testovať cez plugin fs-extra.Príklad: Vytvorenie premenných zastupujúce zdroj a cieľ.
1
2
var bowerDir ="../../DevLibs/bower_components/";
var libsDir ="app/libs/";
Príklad: Kontrola existencia adresára a jeho vytvorenie.
1
2
3
4
5
var fs = require('fs-extra');
if(!fs.existsSync(libsDir)){
fs.mkdirSync(libsDir);
}
A teraz to dám všetko dokopy a vytvorím z toho úlohu.Príklad: Nakopírovanie súborov z frameworku Bootstrap
console.log("Directories were copied successfully");
});
});
Záver
Uvedený príklad predpokladá, že adresár app existuje. Keďže je potrebné vytvoriť ešte dva vnorené adresáre, jeden musí byť vytvorený cez mkdirSync() a druhý si už plugin fs-extra vytvorí sám.4.2.2017, Matej LednárKategória: SoftvérSoftvér,fs-extra,npm,gulp,copy,directory,adresár,exists,create,bootstrap,check,detectŽiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.Viac informácií nájdete v sekcii O projekte.