Typy modułów¶
Moduły w Node.js możemy podzielić na trzy główne rodaje:
- Moduły lokalne (app modules)
- Moduły podstawowe (core modules)
- Moduły zewnętrzne (libraries)
Moduły lokalne¶
Moduły lokalne (app modules) - moduły, które wydziela programista, podczas tworzenia aplikacji - dotyczą one głównie funkcjonalności danej aplikacji, ich struktura jest zależna od programisty.
Najprostszy z przykładów, który omówiłem przy okazji Czym jest moduł?:
accountancy.js | |
---|---|
1 2 3 4 |
|
Dołączanie lokalnych modułów odbywa się za pomocą wskazania ścieżki.
Wykorzystać można ścieżkę bezwzględną (rozpoczęta znakiem: /
) lub relatywną (rozpoczęta znakami: ./
lub ../
), tak aby z pliku A doprowadzić do pliku B - uwzględniając przemieszczanie się w strukturze katalogowej.
app.js | |
---|---|
1 2 3 4 5 6 7 8 |
|
Pamiętaj, że początkową lokalizacją od której mamy odniesienie, jest plik w którym zamieszczamy require
. Dla przykładu, jeśli nasz plik znajduje się w folderze src/core/
pod nazwą app.js
to wszystkie wywołania require()
znajdujące się w tym pliku, mają swój początek w folderze src/core/
.
Pliki JSON
Za pomocą tego mechanizmu, możemy również załadować zawartość pliku w formacie JSON
:
require('./sciezka/do/pliku/products.json');
Moduły podstawowe¶
Moduły podstawowe (core modules) - moduły wbudowane w Node.js umożliwiają m.in. operacje na plikach (fs
), zarządzanie procesem aplikacji (process
), informacje na temat systemu operacyjnego (os
) czy też tworzenie własnego serwera HTTP (http
).
Moduły te są opisane w dokumentacji API Node.js. Ich kod źródłowy można również podejrzeć w repozytorium Node.js.
W tabeli poniżesz zamieszczam moduły z którymi najczęściej pracowałem:
Moduł | Opis |
---|---|
buffer |
Praca na sekwencji bajtów o stałej długości. |
console |
Mechanizm prostego debuggowania za pomocą wyświetlania danych, podobny do console znanego w przeglądarkach. |
events |
Wysyłanie zdarzeń i reagowanie na przechwycone zdarzenia. |
fs |
Interakcja z systemem plików - tworzenie plików, katalogów, zarządzanie systemem plików. |
http |
Obsługa protokołu HTTP. Tworzenie serwera HTTP i obsługa żądań oraz odpowiedzi. |
os |
Dostęp do informacji związanych z systemem operacyjnym. |
process |
Zarządzanie procesem aplikacji. |
stream |
Obsługa strumieni danych. |
Przykład użycia jest bardzo prosty:
Architektura procesora: | |
---|---|
1 2 3 4 5 |
|
Po uruchomieniu pliku na ekranie pojawi się informacja o architekturze procesora. Jedna z wartości: arm
, arm64
, ia32
, mips
, mipsel
, ppc
, ppc64
, s390
, s390x
, x32
, lub x64
.
Moduły zewnętrzne¶
Moduły zewnętrzne (libraries) - moduły tworzone i udostępniane przez osoby zewnętrzne. Jest to na przykład: Express
, Winston
, Knex
. Wspomagają programistę przy często powtarzanych operacjach, dając pełną implementację oraz możliwość wykorzystania nie raz skomplikowanych operacji, za pomocą przyjaznego interfejsu biblioteki.
Aby zainstalować bibliotekę zewnętrzną najczęściej wykorzystuje się podstawowy menadżer pakietów NPM. Służy do tego polecenie:
npm i [nazwa biblioteki]
Spróbuj pobrać framework Express
:
npm i express
Po wykonaniu tej operacji warto spojrzeć do folderu node_modules
bo to w nim, zostały umieszczone wszelkie niezbędne pliki aby w pełni korzystać z wymaganej biblioteki. Ku zaskoczeniu widać, że pobrano nie tylko samą bibliotekę, którą chcieliśmy, ale taże biblioteki, które są niezbędne do jej działania.
Więcej na sam temat folderu node_modules
, NPM oraz importowania modułów znajdziesz na kolejnych podstronach.