Przejdź do treści

Uruchamianie pierwszego skryptu Node.js

Rozpoczynając przygodę z jakim kolwiek językiem programowania, platformą czy frameworkiem spotykamy się z pytaniem - jak to uruchomić?

Zacznijmy od początku.

Pierwszy skrypt Node.js

Po pierwsze - stwórzmy skrypt, który uruchomimy za pomocą Node.js. Niech to będzie klasyczny przykład Hello World.

Stwórz nowy plik index.js, a następnie umieść w nim następującą zawartość:

console.log('Hello World');

W systemach Linux/Unix oraz na Windowsie korzystając z WSL możesz uruchomić polecenie w terminalu, które stworzy plik wraz z jego zawartością:

echo "console.log('Hello World');" > index.js 

Uruchamianie

W przypadku takich rozwiązań jak Python czy Node.js sprawa jest dość prosta.

Po instalacji interpretera / środowiska uruchomieniowego wystarczy wykorzystać główny plik wykonywalny Node.js, wraz z nazwą pliku, który chcemy uruchomić:

node index.js

W resultacie powinniśmy otrzymać w terminalu:

Hello World

To znaczy, że działa :)

Problemy

Command not found: node

Uwaga

Ważne, aby plik binarny Node.js był dostępny z każdego miejsca, czyli został dodany do tak zwanej zmiennej środowiskowej PATH.

Możemy to sprawdzić wydając w terminalu polecenie:

echo $PATH | grep node

Wykonanie polecenia powinno zwrócić wynik, jeśli nie otrzymujemy niczego, oznacza to tyle, że pomimo instalacji, ścieżka do pliku binarnego nie została prawidłowo dodana do zmiennej PATH.

W takim wypadku należy odnaleźć miejsce instalacji Node.js (polecenie where node), a następnie ręcznie dodać go do zmiennej PATH. Do tego przyda Ci się wybrany tutorial zależny od systemu operacyjnego: Windows, Linux, macOS.

Jeśli wszystko jest OK, rezultat wykonania polecenia może (każdy system może nieco inaczej preparować komunikat) wyglądać następująco:

/Users/adrianpietka/.nvm/versions/node/v14.18.1/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

W tym wypadku plik wykonywalny node został prawidłowo zainstalowany i umieszczony w folderze /Users/adrianpietka/.nvm/versions/node/v14.18.1/bin, ale także dodany do zmiennej PATH co daje mi możliwość uruchamiania go w dowolnym miejscu.

Uruchamianie bez jawnego podawania node

Istnieje jeszcze trick, dzięki któremu wywoływanie skryptu JS, nie będzie wymagało jawnego podawania node.

Na początku skrytpu, który uruchamiasz należy umieścić tzw. shebang, który informuje jaki interpreter ma zostać użyty w celu wykonania skryptu.

#!/usr/bin/env node

U mnie cały plik index.js wygląda teraz w następujący sposób:

#!/usr/bin/env node

console.log('Hello World');

Pozostaje nam jedynie nadać uprawnienia do pliku index.js, tak aby uczynić go wykonywalnym. W innym wypadku, otrzymasz komunikat podobny do tego: permission denied: ./index.js.

chmod +x index.js

Następnie uruchom plik w następujący sposób:

./index.js

Ponownie, rezultat wykonania powinien zwrócić naszą wiadomość z console.log:

Hello World