Čitatelji poput vas podržavaju MUO. Kada kupite putem poveznica na našoj stranici, možemo zaraditi partnersku proviziju.
Rad s datotekama jedan je od najčešćih zadataka koje program obavlja, stoga uštedite vrijeme i trud uz pomoćnu knjižnicu Node.
Jedna od ugrađenih značajki Node.js je manipulacija datotečnim sustavom operativnog sustava pomoću fs modula. Ovaj modul Node.js sadrži mnoge korisne funkcije za rad s datotekama i direktorijima.
Datoteke se jednostavno nazivaju stalnim objektima ili dijelovima podataka koji su obično pohranjeni na tvrdom mediju poznatom kao disk ili memorija. Datoteke mogu biti različitih vrsta, od tekstualnih datoteka do slikovnih datoteka, audio datoteka i mnogih drugih.
Dakle, što je datotečni sustav i kako možete jednostavno komunicirati s datotečnim sustavom operativnog sustava u Node.js?
Što je datotečni sustav?
Datotečni sustav definira kako operativni sustav može prepoznati, organizirati, pohraniti i pristupiti datotekama, zajedno s drugim operacijama.
Datotečni sustav operativnog sustava također obavlja posao grupiranja datoteka u zbirke poznate kao direktoriji ili mape. Obične datoteke i direktoriji najčešći su dijelovi datotečnog sustava s kojima se često komunicira između mnogih drugih.
Neki primjeri datotečnih sustava uključuju novi tehnološki datotečni sustav (NTFS), UNIX datotečni sustav (UFS) i hijerarhijski datotečni sustav (HFS).
Što je Node.js fs modul?
Node.js fs modul je ugrađena biblioteka koju nudi Node.js za rad sa sustavom datoteka bilo kojeg operativnog sustava koji podržava Node. The fs modul je lako dostupan i glavna je biblioteka za operacije datoteka kao što su čitanje iz datoteka ili pisanje podataka u datoteke u Node.js.
Vrlo se često koristi s staza i os moduli za izvođenje raznih operacija nad datotekama. Za korištenje fs modul u svojim programima, možete ga uvesti u svoj izvorni kod kao što je prikazano u donjem kodu.
// CommonJS
konst fs = zahtijevati('fs')
// ES6
uvoz fs iz 'fs'
Što je modul staze Node.js?
Možete koristiti Node.js staza modul za manipuliranje stazama datoteka. Uključuje uslužne programe za jednostavnu interakciju sa stazama datoteka i direktorija. Koristiti fs i staza moduli u tandemu za dovršenje zadatka standardna je praksa. To je zato što većina fs funkcije modula ovise o stazama do ciljnih datoteka ili direktorija za funkcioniranje.
Možete uvesti staza modul u vaš kod sa sintaksom u nastavku:
// CommonJS
konst put = zahtijevati('staza')
// ES6
uvoz staza iz 'staza'
Uobičajene funkcije za pristup sustavu datoteka u Node.js
Ovdje su najčešće korišteni Node.js fs i staza funkcije modula i kako ih koristiti za interakciju s datotekama i direktorijima.
Rad sa stazama
-
path.resolve: Ovo je funkcija za rješavanje putanje s popisa instrukcija putanje proslijeđenih kao parametri. Na primjer:
path.resolve('home', 'projects', 'web');
// vraća/home/projects/web path.resolve('home/projects/web', '../mobile');
// vraća/home/projects/mobile -
path.normalize: The normalizirati funkcija vraća točnu i normaliziranu stazu iz zadane ulazne staze. Na primjer:
path.normalize('home/projects/web/../mobile/./code');
// vraća home/projects/mobile/code -
path.join: Ova funkcija gradi put od nekoliko segmenata. Na primjer:
path.join('doma', 'projekti', '../', 'filmovi');
// vraća se kući/filmovi -
path.basename: The osnovno ime funkcija vraća posljednji segment staze. Možete ga koristiti na dva načina:
path.basename('home/projects/web/index.js');
// vraća index.jspath.basename('home/projects/web/index.js', '.js');
// uklanja ekstenziju i vraća 'index' -
path.dirname: Ova funkcija vraća stazu do posljednjeg direktorija zadane staze. Primjer:
path.dirname('home/projects/web/index.js');
// vraća se na početnu stranicu/projekti/web -
path.extname: Pomoću ove funkcije možete dobiti ekstenziju datoteke iz zadane staze.
path.extname('home/projects/web/index.js');
// vraća '.js'
Otvaranje i zatvaranje datoteka
-
fs.open: Ovo je funkcija za sinkrono otvaranje ili stvaranje datoteke u Node.js. Sinkroni oblik fs.otvoriti je fs.openSync. fs.otvori acprihvaća četiri argumenta koji su put datoteke, zastavice, otvoreni način rada i funkcija povratnog poziva. Zastave i otvorennačin rada imaju zadanu vrijednost, a više o njima možete saznati iz Node.js fs.open dokumentacija.
konst filePath = path.join (__dirname, '/videos/noviVideozapis.mp4');
// __dirname vraća stazu do trenutnog radnog direktorija.
// Putanja datoteke =/videos/newVideo.mp4 fs.open (putanja datoteke, (greška, deskriptor datoteke) => {
// obraditi pogreške
konzola.log (fileDescriptor); // ispisuje cijeli broj koji predstavlja deskriptor datoteke
}) -
fs.close: Dobra je praksa uvijek zatvoriti sve otvorene datoteke kada više nisu potrebne. Node.js ima fs.zatvoriti funkcija za ovo:
fs.open (putanja datoteke, (greška, deskriptor datoteke) => {
// rukovanje pogreškama, kao što je 'datoteka/direktorij ne postoji'
konzola.log (fileDescriptor);// zatvori datoteku
fs.close (fileDescriptor, (greška) => {
// obraditi pogreške
konzola.log('Datoteka je uspješno zatvorena');
});
})
Stvaranje i brisanje
-
fs.mkdir: Ovo radi isto kao i mkdir terminalska naredba koja stvara novi direktorij. Uzima stazu, način (izborno) i funkciju povratnog poziva kao parametre. Možete ga koristiti ovako:
konst dirPath = path.join (__dirname, 'newDirectory');
fs.mkdir (dirPath, (greška) => {
// obraditi pogreške
konzola.log('Novi imenik uspješno kreiran');
}); -
fs.unlink: Ova funkcija uklanja ili briše datoteku na putu proslijeđenom kao argument. Razmotrite primjer koda u nastavku:
konst filePath = path.join (_dirname, 'oldFile.js');
fs.unlink (filePath, (greška) => {
// obraditi pogreške
konzola.log('Datoteka je uspješno izbrisana');
}); -
fs.rmdir: Ova metoda briše direktorij na zadanoj stazi. U upotrebi je vrlo sličan metodi prekida veze:
konst dirPath = path.resolve('home', 'projects', 'web');
fs.rmdir (dirPath, (greška) => {
// obraditi pogreške
konzola.log('Imenik uspješno izbrisan');
})
-
fs.postoji: The postoji metoda provjerava postoji li datoteka na zadanoj stazi. Implementacija je sljedeća:
neka filePath = path.join (__dirname, 'index.html');
fs.exists (filePath, (postoji) => {
konzola.log (postoji) // istina ili laž
}) -
fs.stat: Ovo je sinkrona funkcija koja vraća svojstva datoteke. Vraća an fs. Statistika objekt koji otkriva neke metode za pristup svojstvima datoteke. Evo primjera:
fs.stat('index.js', (greška, statistika) => {
konzola.log (statistika); // ispisuje svojstva datoteke niske razine
stats.isFile(); // vraća istinito
stats.isDirectory(); // vraća false
})
Trebali biste koristiti staza metode kada radite sa stazama datoteka jer vas spašavaju od neočekivanog ponašanja na različitim platformama. The Node.js fs i Node.js put dokumentacija opisuje iscrpan popis metoda.
Manipuliranje datotečnim sustavom u Node.js
Prostranost na fs modul čini vrlo lakim pristup i interakciju s datotekama na bilo kojem operativnom sustavu. Kada ga koristite zajedno s staza modula, otvoreni ste za više funkcionalnosti i možete manipulirati datotečnim sustavom kako želite.
Glavna prednost Node.js je njegova prenosivost. Možete razviti svoje aplikacije na bilo kojoj platformi i implementirati ih bilo gdje bez brige o osnovnim problemima kompatibilnosti.