Czytelnicy tacy jak ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską.

Przez Timilehin Omolana
UdziałĆwierkaćUdziałUdziałUdziałE-mail

Praca z plikami jest jednym z najczęstszych zadań wykonywanych przez program, więc oszczędzaj czas i wysiłek dzięki bibliotece pomocniczej Node.

Jedną z wbudowanych funkcji Node.js jest manipulacja systemem plików systemu operacyjnego za pomocą modułu fs. Ten moduł Node.js zawiera wiele przydatnych funkcji do pracy z plikami i katalogami.

Pliki są po prostu określane jako utrwalone obiekty lub fragmenty danych, które są zwykle przechowywane na twardym nośniku zwanym dyskiem lub pamięcią. Pliki mogą być różnych typów, od plików tekstowych po pliki graficzne, pliki audio i wiele innych.

Czym więc jest system plików i jak łatwo wchodzić w interakcje z systemem plików systemu operacyjnego w Node.js?

Co to jest system plików?

System plików określa, w jaki sposób system operacyjny może identyfikować, organizować, przechowywać i uzyskiwać dostęp do plików, a także wykonywać inne operacje.

instagram viewer

System plików systemu operacyjnego wykonuje również zadanie grupowania plików w kolekcje zwane katalogami lub folderami. Zwykłe pliki i katalogi to najczęstsze części systemu plików, z którymi często wchodzi się w interakcję z wieloma innymi.

Niektóre przykłady systemów plików obejmują system plików nowej technologii (NTFS), system plików UNIX (UFS) i hierarchiczny system plików (HFS).

Co to jest moduł Node.js fs?

Node.js fs module to wbudowana biblioteka dostarczana przez Node.js do pracy z systemem plików dowolnego systemu operacyjnego obsługującego Node. The fs moduł jest łatwo dostępny i jest biblioteką do operacji na plikach, takich jak odczyt z plików Lub zapisywanie danych do plików w Node.js.

Jest bardzo często używany z ścieżka I os moduły do ​​wykonywania różnych operacji na plikach. Aby użyć fs module w swoich programach, możesz zaimportować go do swojego kodu źródłowego, jak pokazano na poniższym kodzie.

// CommonJS
konst fs = wymagać('fs')

// ES6
import fs z „FS”

Co to jest moduł ścieżki Node.js?

Możesz użyć Node.js ścieżka moduł do manipulowania ścieżkami plików. Zawiera narzędzia do łatwej interakcji ze ścieżkami plików i katalogów. Używając fs I ścieżka moduły w tandemie w celu wykonania zadania to standardowa praktyka. To dlatego, że większość fs funkcje modułu zależą od ścieżek do plików docelowych lub katalogów do działania.

Możesz zaimportować ścieżka module do swojego kodu za pomocą poniższej składni:

// CommonJS
konst ścieżka = wymagać('ścieżka')

// ES6
import ścieżka z 'ścieżka'

Wspólne funkcje dostępu do systemu plików w Node.js

Oto najczęściej używane Node.js fs I ścieżka funkcje modułu i jak używać ich do interakcji z plikami i katalogami.

Praca ze ścieżkami

  1. ścieżka.rozwiązanie: Jest to funkcja rozpoznawania ścieżki z listy instrukcji ścieżki przekazywanych jako parametry. Na przykład:
    path.resolve('dom', 'projekty', 'sieć');
    // zwroty /home/projects/web

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

  2. ścieżka.normalizacja: The normalizować funkcja zwraca poprawną i znormalizowaną ścieżkę z podanej ścieżki wejściowej. Na przykład:
    path.normalize('home/projects/web/../mobile/./code');
    // zwraca home/projects/mobile/code
  3. ścieżka. dołącz: Ta funkcja buduje ścieżkę z kilku segmentów. Na przykład:
    path.join('dom', 'projekty', '../', 'filmy');
    // wraca do domu/filmów
  4. nazwa.ścieżki: The nazwa podstawowa funkcja zwraca ostatni segment ścieżki. Możesz go używać na dwa sposoby:
    path.basename('home/projects/web/index.js');
    // zwraca index.js

    path.basename('home/projects/web/index.js', '.js');
    // usuwa rozszerzenie i zwraca „indeks”

  5. ścieżka. nazwa_katalogu: Ta funkcja zwraca ścieżkę do ostatniego katalogu podanej ścieżki. Przykład:
    path.dirname('home/projects/web/index.js');
    // zwraca home/projects/web
  6. nazwa_ścieżki: Dzięki tej funkcji możesz uzyskać rozszerzenie pliku z podanej ścieżki.
    path.extname('home/projects/web/index.js');
    // zwraca '.js'

Otwieranie i zamykanie plików

  1. fs.otwarty: Jest to funkcja służąca do synchronicznego otwierania lub tworzenia pliku w Node.js. Forma synchroniczna fs.otwórz Jest fs.openSync. fs.otwórz aprzyjmuje cztery argumenty, którymi są ścieżka pliku, flagi, tryb otwarcia i funkcja wywołania zwrotnego. Flagi I otwartytryb mają wartość domyślną i możesz dowiedzieć się o nich więcej z Node.js fs.open dokumentacja.
    konst filePath = path.join (__nazwa_katalogu, '/videos/nowyWideo.mp4');
    // __dirname zwraca ścieżkę do bieżącego katalogu roboczego.
    // Ścieżka do pliku = /videos/newVideo.mp4

    fs.open (filePath, (błąd, fileDescriptor) => {
    // obsługuj błędy
    konsola.log (Deskryptor Pliku); // drukuje liczbę całkowitą reprezentującą deskryptor pliku
    })

  2. fs.zamknij: Dobrą praktyką jest zawsze zamykanie otwartych plików, gdy nie są już potrzebne. Node.js ma zamknij fs do tego funkcja:
    fs.open (filePath, (błąd, fileDescriptor) => {
    // obsługa błędów, takich jak „plik/katalog nie istnieje”
    konsola.log (Deskryptor Pliku);

    // zamknij plik
    fs.close (fileDescriptor, (błąd) => {
    // obsługuj błędy
    konsola.log('Plik pomyślnie zamknięty');
    });
    })

Tworzenie i usuwanie

  1. fs.mkdir: To działa tak samo jak mkdir polecenie terminala, które tworzy nowy katalog. Przyjmuje ścieżkę, tryb (opcjonalnie) i funkcję wywołania zwrotnego jako parametry. Możesz użyć tego w ten sposób:
    konst dirPath = path.join (__nazwa_katalogu, 'nowy katalog');
    fs.mkdir (dirPath, (błąd) => {
    // obsługuj błędy
    konsola.log('Nowy katalog został pomyślnie utworzony');
    });
  2. fs.unlink: Ta funkcja usuwa lub kasuje plik w ścieżce przekazanej jako argument. Rozważ poniższy przykład kodu:
    konst filePath = path.join (_nazwa_katalogu, 'oldFile.js');

    fs.unlink (ścieżka do pliku, (błąd) => {
    // obsługuj błędy
    konsola.log('Plik został pomyślnie usunięty');
    });

  3. fs.rmdir: Ta metoda usuwa katalog w podanej ścieżce. Jest bardzo podobny w użyciu do metody unlink:
    konst dirPath = path.resolve('dom', 'projekty', 'sieć');

    fs.rmdir (dirPath, (błąd) => {
    // obsługuj błędy
    konsola.log('Katalog pomyślnie usunięty');
    })

  1. fs.istnieje: The istnieje Metoda sprawdza, czy plik w podanej ścieżce istnieje. Implementacja jest następująca:
    pozwalać filePath = path.join (__nazwa_katalogu, 'index.html');

    fs.exists (ścieżka do pliku, (istnieje) => {
    konsola.log (istnieje) // prawda czy fałsz
    })

  2. fs.stat: Jest to funkcja synchroniczna, która zwraca właściwości pliku. Zwraca fs. Statystyki obiekt, który udostępnia niektóre metody dostępu do właściwości pliku. Oto przykład:
    fs.stat('index.js', (błąd, statystyki) => {
    konsola.log (statystyki); // drukuje niskopoziomowe właściwości pliku
    stats.isFile(); // zwraca prawdę
    stats.isDirectory(); // zwraca fałsz
    })

Powinieneś użyć tzw ścieżka metody podczas pracy ze ścieżkami plików, ponieważ chronią Cię przed nieoczekiwanymi zachowaniami na różnych platformach. The Node.js fs I Ścieżka Node.js dokumentacja opisuje wyczerpującą listę metod.

Manipulowanie systemem plików w Node.js

Ogrom fs moduł bardzo ułatwia dostęp i interakcję z plikami w dowolnym systemie operacyjnym. Kiedy używasz go razem z ścieżka moduł, jesteś otwarty na więcej funkcji i możesz dowolnie manipulować systemem plików.

Główną zaletą Node.js jest jego przenośność. Możesz tworzyć swoje aplikacje na dowolnej platformie i wdrażać je w dowolnym miejscu, nie martwiąc się o podstawowe problemy ze zgodnością.

Dowiedz się, jak pisać pliki w Node

Przeczytaj Dalej

UdziałĆwierkaćUdziałUdziałUdziałE-mail

Powiązane tematy

  • Programowanie
  • JavaScript
  • System plików

O autorze

Timilehin Omolana (9 opublikowanych artykułów)

Timilehin jest inżynierem oprogramowania i pisarzem technicznym, który uwielbia odkrywać świat technologii po stronie serwera i systemów rozproszonych.

Więcej od Timilehina Omolany

Komentarz

Zapisz się do naszego newslettera

Dołącz do naszego biuletynu, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i wyjątkowe oferty!

Kliknij tutaj, aby subskrybować