Az Önhöz hasonló olvasók támogatják a MUO-t. Amikor a webhelyünkön található linkek használatával vásárol, társult jutalékot kaphatunk.
A fájlokkal való munka az egyik leggyakoribb feladat, amelyet egy program végez, így időt és energiát takaríthat meg a Node segédkönyvtárával.
A Node.js egyik beépített funkciója az operációs rendszer fájlrendszerének manipulálása az fs modul segítségével. Ez a Node.js modul számos hasznos funkciót tartalmaz a fájlokkal és könyvtárakkal való munkához.
A fájlokat egyszerűen megmaradt objektumoknak vagy adatdaraboknak nevezzük, amelyeket általában egy merev adathordozón, azaz lemezen vagy memórián tárolnak. A fájlok különféle típusúak lehetnek, a szövegfájloktól a képfájlokig, hangfájlokig és még sok másig.
Tehát mi az a fájlrendszer, és hogyan tud egyszerűen együttműködni egy operációs rendszer Node.js fájlrendszerével?
Mi az a fájlrendszer?
A fájlrendszer meghatározza, hogy az operációs rendszer hogyan tudja azonosítani, rendezni, tárolni és elérni a fájlokat, más műveletekkel együtt.
Az operációs rendszer fájlrendszere azt a feladatot is ellátja, hogy a fájlokat könyvtáraknak vagy mappáknak nevezett gyűjteményekbe csoportosítsa. A közönséges fájlok és könyvtárak a fájlrendszer legáltalánosabb részei, amelyekkel gyakran kölcsönhatásba lép sok más mellett.
Néhány példa a fájlrendszerekre: az új technológiai fájlrendszer (NTFS), a UNIX fájlrendszer (UFS) és a hierarchikus fájlrendszer (HFS).
Mi az a Node.js fs modul?
A Node.js fs A modul a Node.js által biztosított beépített könyvtár, amely a Node-ot támogató bármely operációs rendszer fájlrendszerével működik. A fs modul könnyen elérhető, és a könyvtár az olyan fájlműveletekhez, mint pl fájlokból olvasni vagy adatok írása a Node.js fájlba.
Nagyon gyakran használják a pálya és os modulok különféle műveletek végrehajtásához fájlokon. Használatához a fs modult a programjaiban, importálhatja azt a forráskódba az alábbi kód szerint.
// CommonJS
const fs = igényelnek('fs')
// ES6
import fs tól től "fs"
Mi az a Node.js elérési út modul?
Használhatja a Node.js fájlt pálya modul a fájl elérési útjainak kezeléséhez. Segédprogramokat tartalmaz a fájl- és könyvtárútvonalakkal való egyszerű interakcióhoz. Használni a fs és pálya modulok párhuzamos végrehajtása egy feladat elvégzéséhez bevett gyakorlat. Ez azért van így, mert a legtöbb fs A modul funkciói a célfájlok vagy könyvtárak elérési útjától függenek.
Importálhatja a pálya modult a kódba az alábbi szintaxissal:
// CommonJS
const útvonal = igényelnek('pálya')
// ES6
import pálya tól től 'pálya'
Gyakori funkciók a Node.js fájlrendszerének eléréséhez
Íme a leggyakrabban használt Node.js fs és pálya modul funkciókat, és hogyan használhatjuk őket a fájlokkal és könyvtárakkal való interakcióhoz.
Munka ösvényekkel
-
path.resolve: Ez a függvény egy elérési út feloldására a paraméterként átadott útvonal utasítások listájából. Például:
path.resolve('home', 'projektek', 'web');
// visszatér/home/projects/web path.resolve('home/projektek/web', '../mobile');
// visszatér/home/projects/mobile -
path.normalize: A normalizálni függvény a helyes és normalizált útvonalat adja vissza egy adott bemeneti útvonalról. Például:
path.normalize('home/projects/web/../mobile/./code');
// visszatér haza/projektek/mobil/code -
path.join: Ez a függvény több szegmensből épít egy útvonalat. Például:
path.join('home', 'projektek', '../', 'filmek');
// hazatér/filmek -
path.basename: A alapnév függvény a végső útvonalszakaszt adja vissza. Kétféleképpen használhatod:
path.basename('home/projects/web/index.js');
// visszaadja az index.js-tpath.basename('home/projects/web/index.js', '.js');
// eltávolítja a kiterjesztést és visszaadja az "indexet" -
path.dirname: Ez a függvény visszaadja az elérési utat egy adott útvonal utolsó könyvtárába. Példa:
path.dirname('home/projects/web/index.js');
// hazatér/projektek/web -
path.extname: Ezzel a funkcióval egy adott elérési útról lekérheti egy fájl kiterjesztését.
path.extname('home/projects/web/index.js');
// a '.js' kódot adja vissza
Fájlok megnyitása és bezárása
-
fs.open: Ezzel a funkcióval szinkronban lehet megnyitni vagy létrehozni egy fájlt a Node.js-ben. A szinkron formája fs.open van fs.openSync. fs.open anégy argumentumot fogad el, amelyek a fájl elérési útja, zászlók, nyitott mód és egy visszahívási függvény. Zászlók és nyisd kimód alapértelmezett értékük van, és többet megtudhat róluk a Node.js fs.open dokumentáció.
const filePath = elérési út.join (__dirname, '/videos/newVideo.mp4');
// A __dirname az aktuális munkakönyvtár elérési útját adja vissza.
// filePath =/videos/newVideo.mp4 fs.open (filePath, (hiba, fileDescriptor) => {
// hibák kezelése
konzol.log (fileDescriptor); // a fájlleírót reprezentáló egész számot nyomtat
}) -
fs.close: Célszerű minden megnyitott fájlt bezárni, amikor már nincs rájuk szükség. A Node.js rendelkezik a fs.close funkció ehhez:
fs.open (filePath, (hiba, fileDescriptor) => {
// hibák kezelése, például "a fájl/könyvtár nem létezik"
konzol.log (fileDescriptor);// zárja be a fájlt
fs.close (fileDescriptor, (hiba) => {
// hibák kezelése
konzol.log('A fájl sikeresen lezárva');
});
})
Létrehozás és törlés
-
fs.mkdir: Ez ugyanúgy működik, mint a mkdir terminál parancs, amely egy új könyvtárat hoz létre. Paraméterként egy elérési utat, módot (opcionális) és visszahívási függvényt vesz fel. Így használhatod:
const dirPath = elérési út.join (__könyvtárnév, 'újKönyvtár');
fs.mkdir (dirPath, (hiba) => {
// hibák kezelése
konzol.log('Az új könyvtár sikeresen létrejött');
}); -
fs.unlink: Ez a függvény eltávolítja vagy törli az argumentumként megadott elérési úton lévő fájlt. Tekintsük az alábbi kódpéldát:
const filePath = elérési út.join (_könyvtárnév, 'régifájl.js');
fs.unlink (filePath, (hiba) => {
// hibák kezelése
konzol.log('A fájl sikeresen törölve');
}); -
fs.rmdir: Ez a metódus törli az adott elérési úton lévő könyvtárat. Használatában nagyon hasonló a leválasztási módszerhez:
const dirPath = path.resolve('home', 'projektek', 'web');
fs.rmdir (dirPath, (hiba) => {
// hibák kezelése
konzol.log('A könyvtár sikeresen törölve');
})
-
fs.exists: A létezik metódus ellenőrzi, hogy az adott elérési úton lévő fájl létezik-e. A megvalósítás a következő:
hagyja filePath = elérési út.join (__könyvtárnév, 'index.html');
fs.exists (filePath, (exists) => {
konzol.log (létezik) // igaz vagy hamis
}) -
fs.stat: Ez egy szinkron függvény, amely visszaadja a fájl tulajdonságait. Visszaad egy fs. Statisztika objektum, amely felfed néhány módszert a fájl tulajdonságainak elérésére. Íme egy példa:
fs.stat('index.js', (hiba, statisztika) => {
konzol.log (statisztika); // kiírja a fájl alacsony szintű tulajdonságait
stats.isFile(); // igazat ad vissza
stats.isDirectory(); // hamis értéket ad vissza
})
Használnia kell a pálya metódusokat, amikor fájlútvonalakkal dolgozik, mivel megóvja Önt a platformok közötti váratlan viselkedéstől. A Node.js fs és Node.js elérési út dokumentáció a módszerek kimerítő listáját írja le.
A fájlrendszer kezelése a Node.js-ben
A hatalmas a fs A modul nagyon egyszerűvé teszi a fájlok elérését és interakcióját bármely operációs rendszeren. Amikor együtt használja a pálya modul, nyitott a további funkciókra, és tetszés szerint módosíthatja a fájlrendszert.
A Node.js egyik fő előnye a hordozhatóság. Alkalmazásait bármilyen platformon fejlesztheti, és bárhol üzembe helyezheti anélkül, hogy az alapvető kompatibilitási problémák miatt kellene aggódnia.