×
Vytvárame riešenia

Ako zistiť existenciu adresára cez gulp

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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var gulp = require('gulp');
var bowerDir = "../../DevLibs/bower_components/";
var libsDir = "app/libs/";
var fs = require('fs-extra');
gulp.task('copy-bootstrap', function () {
if (!fs.existsSync(libsDir)) {
fs.mkdirSync(libsDir);
}
return fs.copy(bowerDir + "bootstrap/dist", libsDir + "bootstrap", function (err) {
if (err) {
return console.error(err);
}
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.


Softvé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.

Komentáre

Článok neobsahuje zatiaľ žiadne komentáre.

Pridať komentár

Meno (povinné)
Web
Správa (povinné)
Odoslať
Od najnovších