Node.js - pierwsze kroki

Aleksander Patschek

Czas czytania: 3 min
Liczba słów: 579
Data: 31-10-2017
Udostępnij:

Dużo ludzi kojarzy JavaScript tylko z przeglądarkami i ogólnie pojętym frontendem. Jednak na tym nie kończą się możliwości tego języka. Dzięki Node.js mamy możliwość napisać w Javascriptcie funkcjonalny serwer dla naszych aplikacji. I co najważniejsze nie jest to trudne.

Czym jest Node.js?

Jest to platforma zbudowana na Chrome V8. Jest to darmowy silnik Javascript stworzony przez Google'a w języku C++ i używany oprócz Node'a także w przeglądarce Chrome. Dzięki temu nie potrzebujemy przeglądarki by odpalić nasz kod Javascript a jesteśmy w stanie to zrobić wszędzie tam gdzie jesteśmy w stanie zainstalować Node'a. A wedle oficjalnej dokumentacji jesteśmy w stanie to zrobić na naprawdę dużej ilości środowisk

node-srodowiska

Jak widać jest tego sporo. Warte zauważenia są binarki dostępne dla systemów opartych o ARM. Dzięki temu mamy możliwość postawienia własnego serwera między innymi na raspberry pi (co kiedyś opiszę na blogu). W ostatnim czasie Javascript zaczął się coraz mocniej rozwijać co przełożyło się na jego popularność. Również Node się do tego przyczynia ponieważ znajomość jednego języka pozwala nam pisać w pełni funkcjonalne serwisy. Jeśli jesteście ciekawi jak wyglądają statystyki dotyczące naszej omawianej platformy to zerknijcie tutaj

Pierwszy program

Tyle teorii (którą pewnie mało kto czyta :) ) wystarczy. Nie po to powstają platformy by o nich gadać, tylko żeby coś w nich tworzyć. Ja korzystam z jednej z nowszej wersji Node'a co na początku nie powinno mieć znaczenia ale może wyjść przy nieoczekiwanych sytuacjach.

node-wersja

Tak jak wspomniałem jesteśmy w stanie uruchomić kod Javascript na każdej platformie gdzie możemy zainstalować Node'a więc pierwszy program uruchomię w zwykłej konsoli. Aby uruchomić nasz program należy w konsoli wpisać node nazwa_naszego_pliku.js

node-hello-world

Sam kod nie jest skomplikowany i kończy się na jednej linijce

console.log("Hello World")

W porównaniu z innymi językami programowania np. Java jest to bardzo minimalistyczne.

Przekazywanie argumentów

Tak samo jak w innych językach jesteśmy w stanie uruchomić nasz program razem z parametrami. Jest to często wykorzystywane przy różnego typu bibliotekach do parametryzowania uruchomienia np.: podanie portu, ustawienie wersji produkcyjnej, developerskiej itd.

Parametry uruchomienia możemy wyciągnąć z zmiennej globalnej Node'a o nazwie process. Jest to duży obiekt który przechowuje informacje o między innymi: używanych modułach, wersji node'a i silnika v8, na jakiej platformie i architekturze został odpalony kod, przekazane parametry czy też parametry .env o których powiem za chwilę. Nasze przekazane parametry kryją się pod polem argv w naszym obiekcie i są zwyklą tablicą, która ma rozmiar nie mniejszy niż 2.

node-argv

Pierwszy element to ścieżka do pliku wykonywalnego node'a a drugi do naszego uruchamianego pliku. Kolejne elementy trafiają na kolejne pozycje tabeli.

.Env

Chciałbym jeszcze wspomnieć o innym mechanizmie parametryzowania naszej aplikacji a mianowicie zmiennych środowiskowych. Jak sama nazwa wskazuje są to zmienne które zmieniają się pomiędzy środowiskami programistycznymi(lokalne, staging czy też środowisko produkcyjne). Bardzo często są to parametry, które definiują np.: adres bazy danych, port pod jakim wystawiamy aplikację, klucze dostępowe itd. Są one normalnie dostępne w systemie, gdzie można je definiować i zmieniać. Jednak jeśli nie chcemy podczas pisania kodu mieszać sobie w swoich zmiennych środowiskowych (np. mamy kilka projektów i chcemy odseparować zmienne pomiędzy nimi) możemy zdefiniować je w specjalnym pliku .env gdzie podajemy parę wartości KLUCZ = wartosc.

SIMPLE_KEY=simple_key
VALUE_WITH_SPACE=key with space

Jednak aby skorzystać z tego pliku potrzebujemy biblioteki, która dołączy nam nasze własne zmienne do tych systemowych.

yarn add dotenv --save

Teraz po napisaniu czegoś takiego:

require('dotenv').config()

console.log("HelloWorld");
console.log(process.env.SIMPLE_KEY);
console.log(process.env.VALUE_WITH_SPACE);

Jesteśmy w stanie korzystać z naszych zmiennych środowiskowych w programie

node-env

Dziś poruszyłem podstawowe kwestie związane z pisaniem aplikacji w Node.js jednak bardzo potrzebne i często używane. Należy pamiętać, że nie jest on wykorzystywany do pisania aplikacji konsolowych a serwerowych. Jednak postawieniem prostego serwera HTTP zajmiemy się następnym razem

Jeśli podobał ci się ten artykuł to dołącz do newslettera. Dostaniesz dodatkowe treści do każdego postu oraz eksluzywne materiały, które pomogą ci pisac lepszy kod Chcę uzyskać dostęp do bonusów