Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo.

Avtor: Timilehin Omolana
DelitiTweetDelitiDelitiDelitiE-naslov

Delo z datotekami je ena najpogostejših nalog, ki jih izvaja program, zato prihranite čas in trud s knjižnico pomočnikov Node.

Ena od vgrajenih funkcij Node.js je manipulacija datotečnega sistema operacijskega sistema z uporabo modula fs. Ta modul Node.js vsebuje veliko uporabnih funkcij za delo z datotekami in imeniki.

Datoteke preprosto imenujemo trajni objekti ali deli podatkov, ki so običajno shranjeni na trdem mediju, znanem kot disk ali pomnilnik. Datoteke so lahko različnih vrst, od besedilnih datotek do slikovnih datotek, zvočnih datotek in mnogih drugih.

Torej, kaj je datotečni sistem in kako lahko preprosto komunicirate z datotečnim sistemom operacijskega sistema v Node.js?

Kaj je datotečni sistem?

Datotečni sistem določa, kako lahko operacijski sistem identificira, organizira, shranjuje in dostopa do datotek, skupaj z drugimi operacijami.

instagram viewer

Datotečni sistem operacijskega sistema opravlja tudi nalogo združevanja datotek v zbirke, znane kot imeniki ali mape. Navadne datoteke in imeniki so med številnimi drugimi najpogostejši deli datotečnega sistema, s katerimi pogosto komuniciramo.

Nekateri primeri datotečnih sistemov vključujejo datotečni sistem nove tehnologije (NTFS), datotečni sistem UNIX (UFS) in hierarhični datotečni sistem (HFS).

Kaj je modul Node.js fs?

Node.js fs modul je vgrajena knjižnica, ki jo nudi Node.js za delo z datotečnim sistemom katerega koli operacijskega sistema, ki podpira Node. The fs modul je zlahka dostopen in je knjižnica, ki jo lahko uporabite za operacije datotek, kot je branje iz datotek oz pisanje podatkov v datoteke v Node.js.

Zelo pogosto se uporablja z pot in os moduli za izvajanje različnih operacij nad datotekami. Za uporabo fs modul v svojih programih, ga lahko uvozite v svojo izvorno kodo, kot je prikazano v spodnji kodi.

// CommonJS
konst fs = zahtevati('fs')

// ES6
uvoz fs od 'fs'

Kaj je modul poti Node.js?

Uporabite lahko Node.js pot modul za manipulacijo poti datotek. Vključuje pripomočke za preprosto interakcijo s potmi datotek in imenikov. Uporabljati fs in pot modulov v tandemu za dokončanje naloge je standardna praksa. To je zato, ker večina fs funkcije modula so odvisne od poti do ciljnih datotek ali imenikov za delovanje.

Lahko uvozite pot modul v svojo kodo s spodnjo sintakso:

// CommonJS
konst pot = zahtevati('pot')

// ES6
uvoz pot od 'pot'

Pogoste funkcije za dostop do datotečnega sistema v Node.js

Tu so najpogosteje uporabljeni Node.js fs in pot funkcije modula in kako jih uporabljati za interakcijo z datotekami in imeniki.

Delo s potmi

  1. path.resolve: To je funkcija za razrešitev poti s seznama navodil poti, posredovanih kot parametri. Na primer:
    path.resolve('home', 'projects', 'web');
    // vrne /home/projects/web

    path.resolve('home/projects/web', '../mobile');
    // vrne /home/projects/mobile

  2. path.normalize: The normalizirati funkcija vrne pravilno in normalizirano pot iz podane vhodne poti. Na primer:
    path.normalize('home/projects/web/../mobile/./code');
    // vrne home/projects/mobile/code
  3. path.join: Ta funkcija sestavi pot iz več segmentov. Na primer:
    path.join('domov', 'projekti', '../', 'filmi');
    // vrne se domov/filmi
  4. path.basename: The osnovno ime funkcija vrne končni segment poti. Uporabite ga lahko na dva načina:
    path.basename('home/projects/web/index.js');
    // vrne index.js

    path.basename('home/projects/web/index.js', '.js');
    // odstrani razširitev in vrne 'index'

  5. path.dirname: Ta funkcija vrne pot do zadnjega imenika dane poti. primer:
    path.dirname('home/projects/web/index.js');
    // vrne domov/projekte/splet
  6. path.extname: S to funkcijo lahko dobite pripono datoteke z podane poti.
    path.extname('home/projects/web/index.js');
    // vrne '.js'

Odpiranje in zapiranje datotek

  1. fs.open: To je funkcija za sinhrono odpiranje ali ustvarjanje datoteke v Node.js. Sinhronična oblika fs.open je fs.openSync. fs.open acsprejme štiri argumente, ki so pot do datoteke, zastavice, odprt način in funkcija povratnega klica. Zastave in odprtonačin imajo privzeto vrednost in lahko izveste več o njih iz Node.js fs.open dokumentacijo.
    konst filePath = path.join (__dirname, '/videos/novVideo.mp4');
    // __dirname vrne pot do trenutnega delovnega imenika.
    // filePath = /videos/newVideo.mp4

    fs.open (filePath, (napaka, fileDescriptor) => {
    // obravnava napake
    konzola.log (fileDescriptor); // natisne celo število, ki predstavlja deskriptor datoteke
    })

  2. fs.close: Dobra praksa je, da vse odprte datoteke vedno zaprete, ko jih ne potrebujete več. Node.js ima fs.close funkcija za to:
    fs.open (filePath, (napaka, fileDescriptor) => {
    // obdelava napak, kot je 'datoteka/imenik ne obstaja'
    konzola.log (fileDescriptor);

    // zaprite datoteko
    fs.close (fileDescriptor, (napaka) => {
    // obravnava napake
    konzola.log('Datoteka je uspešno zaprta');
    });
    })

Ustvarjanje in brisanje

  1. fs.mkdir: To deluje tako kot mkdir terminalski ukaz, ki ustvari nov imenik. Kot parametre vzame pot, način (neobvezno) in funkcijo povratnega klica. Uporabite ga lahko takole:
    konst dirPath = path.join (__dirname, 'newDirectory');
    fs.mkdir (dirPath, (napaka) => {
    // obravnava napake
    konzola.log('Uspešno ustvarjen nov imenik');
    });
  2. fs.unlink: Ta funkcija odstrani ali izbriše datoteko na poti, ki je bila podana kot argument. Oglejte si spodnji primer kode:
    konst filePath = path.join (_dirname, 'oldFile.js');

    fs.unlink (filePath, (napaka) => {
    // obravnava napake
    konzola.log('Datoteka je bila uspešno izbrisana');
    });

  3. fs.rmdir: Ta metoda izbriše imenik na dani poti. Po uporabi je zelo podoben metodi prekinitve povezave:
    konst dirPath = path.resolve('home', 'projects', 'web');

    fs.rmdir (dirPath, (napaka) => {
    // obravnava napake
    konzola.log('Imenik uspešno izbrisan');
    })

  1. fs.exists: The obstaja metoda preveri, ali datoteka na dani poti obstaja. Izvedba je naslednja:
    pustiti filePath = path.join (__dirname, 'index.html');

    fs.exists (filePath, (obstaja) => {
    konzola.log (obstaja) // pravilno ali napačno
    })

  2. fs.stat: To je sinhrona funkcija, ki vrne lastnosti datoteke. Vrne an fs. Statistika objekt, ki razkriva nekatere metode za dostop do lastnosti datoteke. Tukaj je primer:
    fs.stat('index.js', (napaka, statistika) => {
    konzola.log (statistika); // natisne lastnosti datoteke na nizki ravni
    stats.isFile(); // vrne true
    stats.isDirectory(); // vrne false
    })

Moral bi uporabiti pot metode pri delu s potmi datotek, saj vas rešijo pred nepričakovanim vedenjem na različnih platformah. The Node.js fs in Pot Node.js dokumentacija opisuje izčrpen seznam metod.

Manipulacija datotečnega sistema v Node.js

Prostranost fs modul omogoča zelo enostaven dostop in interakcijo z datotekami v katerem koli operacijskem sistemu. Ko ga uporabljate skupaj z pot modul, ste odprti za več funkcionalnosti in lahko upravljate z datotečnim sistemom, kot želite.

Velika prednost Node.js je njegova prenosljivost. Svoje aplikacije lahko razvijete na kateri koli platformi in jih uvedete kjer koli, ne da bi vas skrbelo osnovne težave z združljivostjo.

Naučite se pisati datoteke v Node

Preberi Naprej

DelitiTweetDelitiDelitiDelitiE-naslov

Sorodne teme

  • Programiranje
  • JavaScript
  • Datotečni sistem

O avtorju

Timilehin Omolana (9 objavljenih člankov)

Timilehin je programski inženir in tehnični pisec, ki rad raziskuje svet strežniških tehnologij in porazdeljenih sistemov.

Več od Timilehin Omolana

Komentiraj

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!

Za naročanje kliknite tukaj