Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti.
Práce se soubory je jednou z nejběžnějších úloh, které program provádí, takže ušetříte čas a námahu s pomocnou knihovnou Node.
Jednou ze zabudovaných funkcí Node.js je manipulace se souborovým systémem operačního systému pomocí modulu fs. Tento modul Node.js obsahuje mnoho užitečných funkcí pro práci se soubory a adresáři.
Soubory jsou jednoduše označovány jako trvalé objekty nebo kusy dat, které jsou obvykle uloženy na pevném médiu známém jako disk nebo paměť. Soubory mohou být různých typů, od textových souborů po soubory obrázků, zvukové soubory a mnoho dalších.
Co je tedy souborový systém a jak můžete snadno komunikovat se souborovým systémem operačního systému v Node.js?
Co je souborový systém?
Systém souborů definuje, jak může operační systém identifikovat, organizovat, ukládat a přistupovat k souborům spolu s dalšími operacemi.
Souborový systém operačního systému také provádí seskupování souborů do kolekcí známých jako adresáře nebo složky. Obyčejné soubory a adresáře jsou nejběžnějšími částmi souborového systému, se kterými se často interaguje mezi mnoha dalšími.
Některé příklady souborových systémů zahrnují New Technology File System (NTFS), UNIX File System (UFS) a Hierarchical File System (HFS).
Co je modul Node.js fs?
Soubor Node.js fs module je vestavěná knihovna poskytovaná Node.js pro práci se souborovým systémem libovolného operačního systému, který podporuje Node. The fs modul je snadno přístupný a představuje hlavní knihovnu pro operace se soubory, jako je např čtení ze souborů nebo zápis dat do souborů v Node.js.
Velmi běžně se používá s cesta a os moduly pro provádění různých operací se soubory. Chcete-li použít fs modul ve vašich programech, můžete jej importovat do zdrojového kódu, jak je znázorněno v kódu níže.
// CommonJS
konst fs = vyžadovat('fs')
// ES6
import fs z 'fs'
Co je modul cesty Node.js?
Můžete použít Node.js cesta modul pro manipulaci s cestami k souborům. Obsahuje nástroje pro snadnou interakci s cestami k souborům a adresářům. Za použití fs a cesta moduly v tandemu k dokončení úkolu je standardní praxí. Je to proto, že většina fs funkce modulu závisí na cestách k cílovým souborům nebo adresářům, které mají fungovat.
Můžete importovat cesta modul do vašeho kódu se syntaxí níže:
// CommonJS
konst cesta = vyžadovat('cesta')
// ES6
import cesta z 'cesta'
Společné funkce pro přístup k systému souborů v Node.js
Zde jsou nejčastěji používané Node.js fs a cesta funkce modulu a jak je používat k interakci se soubory a adresáři.
Práce s cestami
-
path.resolve: Toto je funkce pro řešení cesty ze seznamu instrukcí cesty předávaných jako parametry. Například:
path.resolve('domov', 'projekty', 'web');
// vrátí/home/projects/web path.resolve('domov/projekty/web', '../mobil');
// vrátí/home/projects/mobile -
cesta.normalizovat: The normalizovat funkce vrací správnou a normalizovanou cestu z dané vstupní cesty. Například:
path.normalize('home/projects/web/../mobile/./code');
// vrátí home/projects/mobile/code -
path.join: Tato funkce vytváří cestu z několika segmentů. Například:
path.join('domov', 'projekty', '../', 'filmy');
// návrat domů/filmy -
path.basename: The základní jméno funkce vrací konečný segment cesty. Můžete jej použít dvěma způsoby:
path.basename('domov/projekty/web/index.js');
// vrátí index.jspath.basename('domov/projekty/web/index.js', '.js');
// odstraní příponu a vrátí 'index' -
cesta.dirname: Tato funkce vrací cestu k poslednímu adresáři dané cesty. Příklad:
path.dirname('domov/projekty/web/index.js');
// se vrátí domů/projekty/web -
cesta.přípona: Pomocí této funkce můžete získat příponu souboru z dané cesty.
path.extname('domov/projekty/web/index.js');
// vrátí '.js'
Otevírání a zavírání souborů
-
fs.open: Toto je funkce pro synchronní otevírání nebo vytváření souboru v Node.js. Synchronní forma fs.open je fs.openSync. fs.open apřijímá čtyři argumenty, kterými jsou cesta k souboru, příznaky, režim otevření a funkce zpětného volání. Vlajky a OTEVŘENOrežimu mají výchozí hodnotu a můžete se o nich dozvědět více z Node.js fs.open dokumentace.
konst filePath = cesta.join (__dirname, '/videos/newVideo.mp4');
// __dirname vrátí cestu k aktuálnímu pracovnímu adresáři.
// cesta k souboru =/videos/newVideo.mp4 fs.open (filePath, (chyba, fileDescriptor) => {
// zpracování chyb
řídicí panel.log (fileDescriptor); // vypíše celé číslo představující deskriptor souboru
}) -
fs.close: Je dobrým zvykem vždy zavřít všechny otevřené soubory, když již nejsou potřeba. Node.js má fs.zavřít funkce pro toto:
fs.open (filePath, (chyba, fileDescriptor) => {
// zpracovává chyby, jako například 'soubor/adresář neexistuje'
řídicí panel.log (fileDescriptor);// zavřete soubor
fs.close (fileDescriptor, (chyba) => {
// zpracování chyb
řídicí panel.log('Soubor úspěšně uzavřen');
});
})
Vytváření a mazání
-
fs.mkdir: Toto funguje stejně jako mkdir terminálový příkaz, který vytvoří nový adresář. Jako parametry bere cestu, režim (volitelné) a funkci zpětného volání. Můžete jej použít takto:
konst dirPath = cesta.join (__dirname, 'newDirectory');
fs.mkdir (dirPath, (chyba) => {
// zpracování chyb
řídicí panel.log('Nový adresář byl úspěšně vytvořen');
}); -
fs.unlink: Tato funkce odstraní nebo odstraní soubor na cestě zadané jako argument. Zvažte příklad kódu níže:
konst filePath = cesta.join (_dirname, 'staryFile.js');
fs.unlink (filePath, (chyba) => {
// zpracování chyb
řídicí panel.log('Soubor byl úspěšně smazán');
}); -
fs.rmdir: Tato metoda odstraní adresář na dané cestě. Používá se velmi podobně jako metoda odpojení:
konst dirPath = cesta.resolve('domov', 'projekty', 'web');
fs.rmdir (dirPath, (chyba) => {
// zpracování chyb
řídicí panel.log('Adresář úspěšně smazán');
})
-
fs.exists: The existuje metoda zkontroluje, zda soubor na dané cestě existuje. Implementace je následující:
nechat filePath = cesta.připojit (__dirname, 'index.html');
fs.exists (filePath, (exists) => {
řídicí panel.log (existuje) // pravda nebo lež
}) -
fs.stat: Jedná se o synchronní funkci, která vrací vlastnosti souboru. Vrací to an fs. Statistiky objekt, který odhaluje některé metody pro přístup k vlastnostem souboru. Zde je příklad:
fs.stat('index.js', (chyba, statistiky) => {
řídicí panel.log (statistiky); // vypíše nízkoúrovňové vlastnosti souboru
stats.isFile(); // vrací true
stats.isDirectory(); // vrací false
})
Měli byste použít cesta metod při práci s cestami k souborům, protože vás chrání před neočekávaným chováním napříč platformami. The Node.js fs a Cesta k node.js dokumentace popisuje vyčerpávající seznam metod.
Manipulace se systémem souborů v Node.js
Rozlehlost fs modul umožňuje velmi snadný přístup a interakci se soubory na jakémkoli operačním systému. Když jej používáte společně s cesta jste otevřeni dalším funkcím a můžete se systémem souborů manipulovat, jak chcete.
Velkou výhodou Node.js je jeho přenositelnost. Své aplikace můžete vyvíjet na jakékoli platformě a nasazovat je kdekoli, aniž byste se museli starat o základní problémy s kompatibilitou.