Čitatelia ako vy pomáhajú podporovať MUO. Keď uskutočníte nákup pomocou odkazov na našej stránke, môžeme získať pridruženú províziu.

Autor: Timilehin Omolana
zdieľamTweetujtezdieľamzdieľamzdieľamEmail

Práca so súbormi je jednou z najbežnejších úloh, ktoré program vykonáva, takže ušetrite čas a námahu pomocou pomocnej knižnice Node.

Jednou zo vstavaných funkcií Node.js je manipulácia so súborovým systémom operačného systému pomocou modulu fs. Tento modul Node.js obsahuje mnoho užitočných funkcií pre prácu so súbormi a adresármi.

Súbory sa jednoducho označujú ako trvalé objekty alebo kusy údajov, ktoré sú zvyčajne uložené na pevnom médiu známom ako disk alebo pamäť. Súbory môžu byť rôznych typov, od textových súborov po obrazové súbory, zvukové súbory a mnohé ďalšie.

Čo je teda súborový systém a ako môžete jednoducho interagovať so súborovým systémom operačného systému v Node.js?

Čo je súborový systém?

Súborový systém definuje, ako môže operačný systém identifikovať, organizovať, ukladať a pristupovať k súborom spolu s ďalšími operáciami.

instagram viewer

Súborový systém operačného systému tiež vykonáva úlohu zoskupovania súborov do kolekcií známych ako adresáre alebo priečinky. Bežné súbory a adresáre sú najbežnejšími časťami súborového systému, s ktorými sa často interaguje okrem iného.

Niektoré príklady súborových systémov zahŕňajú New Technology File System (NTFS), UNIX File System (UFS) a Hierarchical File System (HFS).

Čo je modul Node.js fs?

Súbor Node.js fs modul je vstavaná knižnica poskytovaná Node.js na prácu so súborovým systémom ľubovoľného operačného systému, ktorý podporuje Node. The fs modul je ľahko prístupný a je hlavnou knižnicou pre operácie so súbormi, napr čítanie zo súborov alebo zapisovanie údajov do súborov v Node.js.

Veľmi bežne sa používa s cesta a os moduly na vykonávanie rôznych operácií so súbormi. Ak chcete použiť fs modul vo svojich programoch, môžete ho importovať do zdrojového kódu, ako je uvedené v kóde nižšie.

// CommonJS
konšt fs = vyžadovať('fs')

// ES6
importovať fs od 'fs'

Čo je modul cesty Node.js?

Môžete použiť súbor Node.js cesta modul na manipuláciu s cestami k súborom. Obsahuje nástroje na jednoduchú interakciu s cestami k súborom a adresárom. Pomocou fs a cesta moduly v tandeme na dokončenie úlohy je štandardnou praxou. Je to preto, že väčšina fs funkcie modulu závisia od ciest k cieľovým súborom alebo adresárom, ktoré majú fungovať.

Môžete importovať cesta modul do vášho kódu so syntaxou uvedenou nižšie:

// CommonJS
konšt cesta = vyžadovať('cesta')

// ES6
importovať cesta od 'cesta'

Bežné funkcie pre prístup k súborovému systému v Node.js

Tu sú najčastejšie používané súbory Node.js fs a cesta funkcie modulu a ako ich používať na interakciu so súbormi a adresármi.

Práca s cestami

  1. path.resolve: Toto je funkcia na rozlíšenie cesty zo zoznamu inštrukcií cesty odovzdaných ako parametre. Napríklad:
    path.resolve('domov', 'projekty', 'web');
    // vráti /home/projects/web

    path.resolve('domov/projekty/web', '../mobil');
    // vráti /home/projects/mobile

  2. path.normalize: The normalizovať funkcia vráti správnu a normalizovanú cestu z danej vstupnej cesty. Napríklad:
    path.normalize('home/projects/web/../mobile/./code');
    // vráti domov/projekty/mobil/kód
  3. path.join: Táto funkcia vytvára cestu z niekoľkých segmentov. Napríklad:
    cesta.join('domov', 'projekty', '../', 'filmy');
    // návrat domov/filmy
  4. path.basename: The základné meno funkcia vráti posledný segment cesty. Môžete ho použiť dvoma spôsobmi:
    path.basename('domov/projekty/web/index.js');
    // vráti index.js

    path.basename('domov/projekty/web/index.js', '.js');
    // odstráni rozšírenie a vráti 'index'

  5. path.dirname: Táto funkcia vráti cestu k poslednému adresáru danej cesty. Príklad:
    path.dirname('domov/projekty/web/index.js');
    // sa vráti domov/projekty/web
  6. path.extname: Pomocou tejto funkcie môžete získať príponu súboru z danej cesty.
    path.extname('domov/projekty/web/index.js');
    // vráti '.js'

Otváranie a zatváranie súborov

  1. fs.open: Toto je funkcia na synchrónne otvorenie alebo vytvorenie súboru v Node.js. Synchrónna forma fs.open je fs.openSync. fs.open aakceptuje štyri argumenty, ktorými sú cesta k súboru, príznaky, otvorený režim a funkcia spätného volania. Vlajky a OTVORENÉrežim majú predvolenú hodnotu a môžete sa o nich dozvedieť viac na stránke Node.js fs.open dokumentáciu.
    konšt filePath = path.join (__dirname, '/videos/newVideo.mp4');
    // __dirname vráti cestu k aktuálnemu pracovnému adresáru.
    // cesta k súboru = /videos/newVideo.mp4

    fs.open (filePath, (chyba, fileDescriptor) => {
    // spracovanie chýb
    konzoly.log (fileDescriptor); // vypíše celé číslo predstavujúce deskriptor súboru
    })

  2. fs.close: Je dobrou praxou vždy zatvoriť všetky otvorené súbory, keď už nie sú potrebné. Node.js má fs.close funkcia na to:
    fs.open (filePath, (chyba, fileDescriptor) => {
    // spracovanie chýb, ako napríklad 'súbor/adresár neexistuje'
    konzoly.log (fileDescriptor);

    // zatvorte súbor
    fs.close (fileDescriptor, (chyba) => {
    // spracovanie chýb
    konzoly.log('Súbor úspešne uzavretý');
    });
    })

Vytváranie a odstraňovanie

  1. fs.mkdir: Toto funguje rovnako ako mkdir terminálový príkaz, ktorý vytvorí nový adresár. Ako parametre berie cestu, režim (voliteľné) a funkciu spätného volania. Môžete ho použiť takto:
    konšt dirPath = cesta.pripojenie (__dirname, 'newDirectory');
    fs.mkdir (dirPath, (chyba) => {
    // spracovanie chýb
    konzoly.log('Nový adresár bol úspešne vytvorený');
    });
  2. fs.unlink: Táto funkcia odstráni alebo vymaže súbor na ceste zadanej ako argument. Zvážte príklad kódu nižšie:
    konšt filePath = path.join (_dirname, 'staryFile.js');

    fs.unlink (filePath, (chyba) => {
    // spracovanie chýb
    konzoly.log('Súbor bol úspešne odstránený');
    });

  3. fs.rmdir: Táto metóda vymaže adresár na danej ceste. Používa sa veľmi podobne ako metóda odpojenia:
    konšt dirPath = cesta.resolve('domov', 'projekty', 'web');

    fs.rmdir (dirPath, (chyba) => {
    // spracovanie chýb
    konzoly.log('Adresár úspešne odstránený');
    })

  1. fs.exists: The existuje metóda skontroluje, či súbor na danej ceste existuje. Implementácia je nasledovná:
    nech filePath = cesta.spojenie (__dirname, 'index.html');

    fs.exists (filePath, (existuje) => {
    konzoly.log (existuje) // pravda alebo lož
    })

  2. fs.stat: Ide o synchrónnu funkciu, ktorá vracia vlastnosti súboru. Vracia an fs. Štatistiky objekt, ktorý odhaľuje niektoré metódy prístupu k vlastnostiam súboru. Tu je príklad:
    fs.stat('index.js', (chyba, štatistiky) => {
    konzoly.log (štatistiky); // vypíše nízkoúrovňové vlastnosti súboru
    stats.isFile(); // vráti true
    stats.isDirectory(); // vráti false
    })

Mali by ste použiť cesta metódy pri práci s cestami k súborom, pretože vás chránia pred neočakávaným správaním naprieč platformami. The Node.js fs a Cesta Node.js dokumentácia popisuje vyčerpávajúci zoznam metód.

Manipulácia so systémom súborov v Node.js

Rozsiahlosť fs modul uľahčuje prístup a interakciu so súbormi na akomkoľvek operačnom systéme. Keď ho použijete spolu s cesta modul, ste otvorení viacerým funkcionalitám a môžete so súborovým systémom manipulovať, ako chcete.

Hlavnou výhodou Node.js je jeho prenosnosť. Svoje aplikácie môžete vyvíjať na akejkoľvek platforme a nasadzovať ich kdekoľvek bez toho, aby ste sa museli obávať základných problémov s kompatibilitou.

Zistite, ako písať súbory v Node

Prečítajte si ďalej

zdieľamTweetujtezdieľamzdieľamzdieľamEmail

Súvisiace témy

  • Programovanie
  • JavaScript
  • Systém súborov

O autorovi

Timilehin Omolana (9 publikovaných článkov)

Timilehin je softvérový inžinier a technický spisovateľ, ktorý miluje objavovanie sveta serverových technológií a distribuovaných systémov.

Viac od Timilehina Omolana

Komentujte

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!

Ak sa chcete prihlásiť na odber, kliknite sem