Wyszukiwanie w witrynie

Jak napisać pierwszą aplikację Node.js w systemie Linux


Trendy w tworzeniu stron internetowych zmieniły się drastycznie w ciągu ostatnich kilku lat, a jako twórca stron internetowych, aby być na szczycie swojej gry, ważne jest, aby być na bieżąco z najnowszymi technologiami.

JavaScript to obecnie najpopularniejszy język programowania; jest to bez wątpienia najpopularniejsza technologia używana przez programistów full-stack.

Frameworki internetowe JavaScript stały się magicznym rozwiązaniem do szybszego tworzenia stron internetowych z absolutną wydajnością, bezpieczeństwem i zminimalizowanymi kosztami. Jestem pewien, że słyszałeś o Node JavaScript (powszechnie określanym jako Node.js lub po prostu Node), jest o nim głośno w Internecie.

W tym artykule pokażę, jak rozpocząć tworzenie aplikacji w JavaScript przy użyciu Node.js w systemie Linux. Ale najpierw zapoznajmy się z krótkim wprowadzeniem do Node.js.

Co to jest Node.js?

Node.js to lekkie i wydajne środowisko uruchomieniowe JavaScript o otwartym kodzie źródłowym, zbudowane na silniku JavaScript V8 przeglądarki Chrome. Został zaprojektowany bez wątków (jednowątkowy) i ma podobną implementację do Twisted, silnika sieciowego zbudowanego przy użyciu Pythona lub Event Machine, biblioteki do przetwarzania zdarzeń dla programów Ruby.

Serce Node.js opiera się na programowaniu sterowanym zdarzeniami; programista powinien zatem wiedzieć, jakie zdarzenia są dostępne i jak na nie reagować.

Zarządzanie pakietami w Node.js

Node.js korzysta z menedżera pakietów JavaScript i ekosystemu o nazwie „npm ”, który zawiera ogromną kolekcję bezpłatnych bibliotek open source. Obsługuje modułowe tworzenie oprogramowania. Możesz go używać do instalowania pakietów węzłów, udostępniania, rozpowszechniania kodu i zarządzania zależnościami pakietów.

Dlaczego Node.js jest ważny?

Node.js jest potężnym, a przez to ważnym narzędziem z następujących powodów:

  • Wykorzystuje asynchroniczny, sterowany zdarzeniami, nieblokujący model wykonywania operacji we/wy, który poprawia przepustowość aplikacji i obsługuje skalowalność dla rzeczywistych aplikacji internetowych.
  • Jest jednowątkowy, więc może używać tylko 1 procesora w danym momencie.
  • Aplikacja internetowa node.js to kompletny serwer WWW, na przykład Nginx lub Apache.
  • Obsługuje wątki poprzez API child_process.fork() w celu tworzenia procesów potomnych, a także oferuje moduł klastra.

Po tym krótkim wstępie z pewnością nie możesz się doczekać napisania swojego pierwszego programu JavaScript. Jednak przede wszystkim musisz zainstalować pakiety Node.js i NPM w swoim systemie Linux, korzystając z poniższego przewodnika.

  1. Zainstaluj najnowszą wersję Nodejs i NPM w systemach Linux

Jak stworzyć swoją pierwszą aplikację Node.js w systemie Linux

Po zainstalowaniu Node.js możesz zaczynać. Najpierw zacznij od utworzenia katalogu, w którym będą przechowywane pliki aplikacji.

sudo mkdir -p /var/www/myapp

Następnie przejdź do tego katalogu i utwórz plik package.json dla swojej aplikacji. Ten plik pomaga jako mała dokumentacja dla twojego projektu: nazwa projektu, autor, lista pakietów, od których zależy i tak dalej.

cd /var/www/myapp
npm init

Spowoduje to zadanie kilku pytań. Po prostu odpowiedz w sposób opisany poniżej i naciśnij [Enter]. Pamiętaj, że najważniejsze elementy w pliku package.json to pola nazwy i wersji, jak wyjaśniono poniżej.

  • nazwa pakietu – nazwa Twojej aplikacji, domyślnie jest to nazwa katalogu.
  • wersja – wersja Twojej aplikacji.
  • opis – napisz krótki opis swojej aplikacji.
  • punkt wejścia – ustawia domyślny plik pakietów do wykonania.
  • polecenie testowe – służy do tworzenia skryptu testowego (domyślnie jest to pusty skrypt).
  • repozytorium git – zdefiniuj repozytorium Git (jeśli je posiadasz).
  • słowa kluczowe – ustaw słowa kluczowe, ważne dla innych użytkowników, aby mogli zidentyfikować Twój pakiet na npm.
  • autor – określa nazwisko autora, wpisz tutaj swoje imię i nazwisko.
  • licencja – określ licencję na swoją aplikację/pakiet.

Następnie utwórz plik server.js.

sudo vi server.js

Skopiuj i wklej w nim poniższy kod.

var http = require('http');
http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end('Hello World!');
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

Następnie uruchom aplikację za pomocą następującego polecenia.

node server.js
OR
npm start

Następnie otwórz przeglądarkę internetową i uzyskaj dostęp do aplikacji internetowej, która nie robi nic innego, jak tylko wypisuje ciąg znaków „Witaj, świecie! ”, korzystając z adresu:

http://localhost:3333

W powyższym kodzie głównym przetwarzanym zdarzeniem jest żądanie HTTP za pośrednictwem modułu HTTP.

Moduł HTTP Nodejs

W Node.js moduły przypominają bardziej biblioteki JavaScript, zawierają funkcje, które możesz ponownie wykorzystać w swojej aplikacji. Możesz skorzystać z modułów wbudowanych, modułów trzydziestu stron lub stworzyć własne.

Aby wywołać moduły w aplikacji, użyj funkcji require, jak pokazano.

var http = require('http');

Po dołączeniu modułu http utworzy on serwer nasłuchujący na określonym porcie (w tym przykładzie 3333). Metoda http.creatServer tworzy rzeczywisty serwer http, który przyjmuje funkcję (wywoływaną, gdy klient próbuje uzyskać dostęp do aplikacji) jako argument.

http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end('Hello World!');
}).listen(3333);

Funkcja w http.createServer ma dwa argumenty: req(request) i res(response). Argument req to żądanie od użytkownika lub klienta, a argument res wysyła odpowiedź do klienta.

res.writeHead(200, { 'Content-Type': 'text/plain' });		#This is a response HTTP header
res.end('Hello World!');

Ostatnia część kodu wysyła dane wyjściowe do konsoli po uruchomieniu serwera.

console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

Routing w Node.js

W tej sekcji wyjaśnię jedno z najważniejszych pojęć w programowaniu Node.js, znane jako routing (porównywalne do routingu w sieciach komputerowych: proces znajdowania ścieżki dla ruchu w sieci).

W tym przypadku routing to technika obsługi żądania klienta; serwowanie treści, o które prosił klient, zgodnie z adresem URL. Adres URL składa się ze ścieżki i ciągu zapytania.

Aby wyświetlić ciąg zapytania żądania klienta, możemy dodać poniższe wiersze w naszej odpowiedzi.

res.write(req.url);
res.end()

Poniżej znajduje się nowy kod.

var http = require('http');
http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.write(req.url);
      res.end();		
      }).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');

Zapisz plik i uruchom aplikację ponownie, używając następującego polecenia.

node server.js
OR
npm start

W przeglądarce internetowej wpisz różne adresy URL, które zostaną wyświetlone, jak pokazano poniżej.

http://localhost:3333
http://localhost:3333/about
http://localhost:3333/tecmint/authors

Teraz stworzymy naprawdę małą witrynę internetową dla Tecmint ze stroną główną, informacjami i stronami autorów. Na tych stronach będziemy wyświetlać pewne informacje.

Otwórz plik server.js do edycji i dodaj w nim poniższy kod.

//include http module 
var http = require('http');

http.createServer(function(req,res){
	//store URL in variable q_string

	var q_string = req.url;
	switch(q_string) {
		case '/':
                        	res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('Welcome To linux-console.net!')
                        	res.end();
                        	break;
                	case '/about':
                		res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('About Us');
                        	res.write('\n\n');
                        	res.write('linux-console.net - Best Linux HowTos on the Web.');
                        	res.write('\n');
                        	res.end('Find out more: https://linux-console.net/who-we-are/');
                        	break;
                	case '/tecmint/authors':
                        	res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('Tecmint Authors');
                        	res.write('\n\n');
                        	res.end('Find all our authors here: https://linux-console.net/who-we-are/');
                        	break;
                	default:
                       		res.writeHead(404, { 'Content-Type': 'text/plain' });
                       		res.end('Not Found');
                        	break;
	}
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate....');

W powyższym kodzie widzieliśmy, jak pisać komentarze w Node.js przy użyciu znaków //, a także wprowadziliśmy instrukcje switch i case do routingu żądań klientów.

Zapisz plik, uruchom serwer i spróbuj uzyskać dostęp do różnych stron.

To wszystko na teraz! Więcej informacji można znaleźć na stronach Nodejs i NPM.

Przeczytaj także: Jak zainstalować PM2, aby uruchamiać aplikacje Node.js w systemie Linux

Wniosek

Node.js osiąga dziś nowe szczyty, dzięki czemu tworzenie pełnego stosu jest znacznie łatwiejsze niż wcześniej. Unikalna filozofia programowania sterowanego zdarzeniami umożliwia tworzenie błyskawicznych, wydajnych i skalowalnych procesów sieciowych i serwerów.

Następnie wyjaśnimy frameworki Node.js, które rozszerzają jego natywne możliwości w celu szybkiego i niezawodnego tworzenia aplikacji internetowych/mobilnych. Podziel się swoimi przemyśleniami na temat tego artykułu w sekcji komentarzy poniżej.