Node.js dla początkujących: opis, przewodnik, funkcje

Node.js to środowisko implementacji javascript osadzone w wersji silnika JS V8 z Chrome. Platforma Node.js dla początkujących używa zdarzeń zarządzanych, nie blokuje modelu we /wy, co czyni go łatwym i efektywnym. Wiązany ekosystem Node.js jest największym ekosystemem open source na świecie. Projekt jest wspierany przez Fundację Node.js. Składki, zasady i kwestie są monitorowane w ramach modelu zarządzania otwartego.

Node.js dla początkujących: definicja

Node.js to platforma programistyczna open source do wykonywania kodu javascript po stronie serwera. Węzeł jest przydatny do tworzenia aplikacji wymagających stałego połączenia z przeglądarki do serwera. Często używane w aplikacjach czasu rzeczywistego, takich jak czat, wiadomości i wiadomości push.



Node.js jest przeznaczony do pracy na dedykowanym serwerze HTTP i do korzystania z jednego strumienia z jednym procesem na jednostkę czasu. Początek Node.js jest oparty na zdarzeniach i jest wykonywany asynchronicznie. Kod zbudowany na tej platformie nie odpowiada tradycyjnemu wzorowi odbierania, przetwarzania, wysyłania, oczekiwania i otrzymywania. Zamiast tego węzeł traktuje przychodzące żądania w stosie stałych zdarzeń, wysyła małe żądania jeden po drugim i nie otrzymuje odpowiedzi. Node.JS Książki dla początkujących zawierają wiele danych dotyczących przejścia z podstawowych modeli, które uruchamiają więcej dużych, złożonych procesów i jednocześnie uruchamiają wiele wątków. Każdy z nich czeka wcześniej na odpowiedźiść dalej.


Początek Node.js - javascript

Węzeł jest oparty na javascript, więc zrozumienie pracy tej platformy jest niemożliwe bez excursusa w JS. Node.js dla początkujących daje wiele wstępnych informacji o języku programowania, na którym oparta jest ta platforma. javascript - jest to interpretowane w języku programowania Microsoftu lub skryptach Netscape. Jest podobny do możliwości Microsoft Visual Basic, Sun Tcl, Perl z UNIX i REXX od IBM. Języki skryptów JavaScript są łatwiejsze i szybsze do kodowania niż bardziej uporządkowane i skompilowane, takie jak C i C ++. Języki skryptów zwykle trwają dłużej niż kompilacja, ale są bardzo przydatne w przypadku krótkich programów. javascript służy do projektowania strony internetowej do wykonywania zadań, takich jak automatyczna zmiana sformatowanej daty na stronie internetowej. To jest powód, dla którego połączona strona będzie wyświetlana w wyskakującym okienku. Podczas zmiany tekstu lub grafiki javascript używa tych samych pomysłów co Java (skompilowane programowanie obiektowe, wywodzące się z języka C ++).

Cechy charakterystyczne JS

javascript są powszechnie używane w tworzeniu stron internetowych. Został pierwotnie opracowany przez Netscape jako narzędzie do dodawania dynamicznych i interaktywnych elementów do stron internetowych. Chociaż javascript jest zależny od języka Java, składnia jest bardziej podobna do C i jest oparta na ECMAScript, języku skryptowym opracowanym przez Sun Microsystems. javascript jest językiem skryptowym po stronie klienta. Oznacza to, że kod źródłowy jest obsługiwany przez przeglądarkę klienta, a nie przez serwer WWW. Funkcje można uruchomić po pobraniu strony internetowej bez kontaktu z serwerem.Na przykład funkcja javascript może sprawdzić formularz internetowy przed wysłaniem go, aby upewnić się, że wszystkie wymagane pola są pełne. Kod może wystawić komunikat o błędzie, zanim jakiekolwiek informacje zostaną faktycznie przesłane na serwer.
Podobnie, języków skryptowych, takich jak serwer PHP i ASP Kod JavaScript można umieścić w dowolnym miejscu HTML strony internetowej. Jednak HTML wyświetla tylko dane wyjściowe kodu serwera, a kod javascript pozostaje w pełni widoczny w źródle strony internetowej. Można go również znaleźć w oddzielnym pliku .JS, który można wyświetlić w przeglądarce.

Przykładowy kod

Poniżej znajduje się przykład podstawowej funkcji javascript, która dodaje dwie liczby. Funkcja jest wywoływana z parametrami 7 i 11. Jeśli kod poniżej zostało zawarte w stronie HTML, to odzwierciedlenie tekst „18” w powiadomieniu. Funkcja JavaScript może spowodować javascript aplikacje tagów popularność szybko rośnie w ciągu ostatnich kilku lat, a node.js pewnością przyczynia się do tego wzrostu. Jeśli spojrzymy na statystyki, wtedy zobaczymy, że na świecie jest więcej pakietów Node niż podobnych danych Ruby. Drugi czynnik: pakiety Node rosną szybciej niż Ruby, Python i Java. Co czyni go bardziej popularnym niż Railsy i inne alternatywy dla Node.JS? Gdzie rozpocząć badanie? Sam węzeł jest asynchroniczny platforma oparta na razie, oparta na silniku JavaScript Chrome i celu stworzenie skalowalnych aplikacji sieciowych. Innymi słowy, node.js - To JavaScript oraz C /C ++ wraz z systemem plików działa HTTP lub TCP-serwerów. Węzeł jest jednowątkowy i wykorzystuje oparty na cyklu model równoległościwydarzenia. Nie blokuje procesów i nie zmusza programu do oczekiwania, ale rejestruje wywołanie zwrotne i pozwala aplikacji kontynuować pracę. Oznacza to, że platforma może obsługiwać operacje równoległe bez wielu wątków i jest wydajnie skalowana. Istnieją znaczne różnice między kolejnymi językami i Node.js:
  • Węzeł pozwala wykonywać inne zadania oczekujące na wiadomość, gdy odpowiedź jest dostępna;
  • aplikacja nie buforuje danych w pamięci, lecz wyświetla je fragmentarycznie.
  • Chociaż istnieją inne systemowe pętle zdarzeń (na przykład biblioteka EventMachine w Ruby lub Twisted na Pythonie), istnieje znacząca różnica między nimi a węzłem. W Node.JS wszystkie biblioteki zostały zaprojektowane od podstaw jako nieblokowalne, czego nie można powiedzieć o innych.

    Opcje użycia

    Węzeł idealnie nadaje się do aplikacji z wiązaniem I /O, ale nie jest tak dobry dla aplikacji z ciężkim procesorem. Doskonałym przykładem są aplikacje działające w czasie rzeczywistym (DIRT), pojedyncze strony, interfejsy API JSON i aplikacje do przesyłania strumieniowego.

    Oficjalny menedżer pakietów węzła (NPM)

    Node odpowiada za większość swojego sukcesu z menedżerem pakietów, który go obsługuje. Zalety tego narzędzia:
  • ustawia zależności aplikacji lokalnie, nie globalnie;
  • w tym samym czasie przetwarza kilka wersji tego samego modułu;
  • Możesz określić tarballe lub repozytoria git jako zależności;
  • Bardzo łatwo jest opublikować swój własny moduł w rejestrze NPM.
  • Instalacja Node.js

    Dla początkujących są to oficjalneInstalatorzy dla Węzła w systemie Windows i OS X, również zapewnili możliwość instalacji za pośrednictwem menedżera pakietów. Aby przetestować kod użytkownika przy użyciu różnych wersji węzłów, używany jest NVM (Node Version Manager). Za pomocą tego narzędzia możesz korzystać z wielu wersji witryny zainstalowanej w systemie i łatwo przełączać się między nimi. W następnych kilku linijkach zobaczymy, jak zainstalować NVM w Ubuntu.
    Po pierwsze, musimy upewnić się, że nasz system ma kompilatora C ++: $ sudo apt-get update $ sudo apt-get install build-essential libssl-dev Kiedy możemy skopiować i wkleić pojedynczą linię instalator dla terminala NVM : $ curl https://raw.githubusercontent.com/creationix/nvm/v0131/install.sh | hit NVM musi być poprawnie zainstalowany, więc wychodzimy z systemu i automatycznie uzgadniamy, aby upewnić się, że wszystko jest poprawne. Wprowadź polecenie: $ nvm Jeśli przy wprowadzaniu nie ma żadnych błędów, oznacza to, że wszystko jest w porządku. Teraz możemy przejść do faktycznej instalacji węzła i NPM. Wynikiem linii poleceń powinien wyglądać następująco: $ NVM zainstalować v01031 ##################################### ############################# 1000% Teraz oba węzły i npm muszą być dostępne w terminalu: $ node -v & amp; & amp; & amp; NPM -v v01031 1423 Teraz trzeba skonfigurować domyślne node.js początek komendy w terminalu: alias domyślnie $ NVM 01,031 możemy zainstalować inne wersje węzła jak również przed i przełączać się między nimi za pomocą wykorzystania NVM: $ NVM install v0810 Jeśli nie wiesz, które wersje są zainstalowane w twoim systemie, po prostu wpisz nvm-list. Narzędzie to pokaże pełną listę, a także bieżące i wersjach, na przykład: liście $ NVM v063 v0612 v0614 v0619 v077 v078 v079 v086 v0811v0103 v01012 v01015 v01021 v01024 v0119 current: v01024 default - & gt; v01024

    Moduły

    Samouczek Node.JS dla początkujących użytkowników języka Java lub Python sugeruje użycie funkcji importu do pobrania innych bibliotek, a PHP i Ruby tego nie wymagają. Węzeł implementuje interfejs CommonJS dla modułów. Możesz również pobrać inne odmiany za pomocą słowa kluczowego require. Na przykład potrzebujemy niektórych naszych modułów: var http = require ('http'); can dns = require ('dns'); Możemy również wywoływać pliki względne: var myFile = require ('./myFile'); //pobierz plik myFile.js Aby zainstalować moduły NPM, wyszukaj je na stronie internetowej lub w Github. Składnia instalacji modułu lokalnego jest dość prosta: # gdzie express === moduł nazwa $ npm zainstalować ekspresowych

    oddzwaniania

    W programowaniu asynchronicznym, nie zwracają wartości po wykonaniu funkcji, ale zamiast używać drogę rozbudowa przejścia (CPS). W tym stylu funkcja asynchroniczna wywołuje wywołanie zwrotne (funkcja jest zwykle przekazywana jako ostatni argument), aby kontynuować program po jego zakończeniu. Poniżej znajduje się przykład znalezienia adresu IPv4 dla domeny: var dns = require ('dns'); dns.resolve4 ('www.google.com' funkcji (eee adresy) {if (eee) rzut yyy; console.log ('adresy:' + JSON.stringify (adresy))}); Minęliśmy zwrotnego (zbudowany funkcja anonimowa) jako drugi argument asynchronicznego dns.resolve4. Po funkcja asynchroniczny jest gotowy, będzie oddzwonić, kontynuując program.

    zdarzeń

    Prowadnica dla początkujących node.js w standardowej zwrotnego wzór, który działa dobrzeprzypadki użycia, gdy chcemy otrzymywać wiadomości po zakończeniu funkcji asynchronicznej. Istnieją jednak sytuacje wymagające jednoczesnego powiadamiania o różnych zdarzeniach. Rzućmy okiem na ten przykładowy kod z klientem IRC: var irc = require ('irc'); can client = new irc.Client ('irc.freenode.net', 'myIrcBot', {channels: ['# sample-channel']}); client.on ("błąd", funkcja (komunikat) {console.error ("error:", message);}); client.on ('connect', function () {console.log ("podłączony do serwera IRC");}); client.on ("message", funkcja (od, do, wiadomość) {console.log (od + '= & gt;' + to + ': "+ wiadomość);}); client.on ('pm', funkcja (z, wiadomość) {console.log (od + "= & gt; ME: + wiadomość);}).
    W powyższym przykładzie mamy do czynienia z trzema typami zdarzeń:
  • zdarzenie połączenia jest wydawane, gdy klient łączy się z serwerem IRC;
  • w przypadku błędu uruchamiane jest zdarzenie błędu;
  • wiadomości i wydarzenia pm wybrane dla wiadomości przychodzących.
  • Powyższe zdarzenia sprawiają, że ta sytuacja jest idealna do używania szablonu EventEmitter. Szablon EventEmitter pozwala programistom wydać wydarzenie, które konsumenci mogą zasubskrybować, jeśli są nim zainteresowani. Ten szablon może być zaznajomiony z przeglądarką, gdzie służy do łączenia procedur obsługi zdarzeń. Węzeł ma klasę EventEmitter w jądrze, której możemy użyć do utworzenia własnych obiektów EventEmitter. Spróbujmy stworzyć klasę MemoryWatcher, która dziedziczy EventEmitter i generuje dwa typy zdarzeń:
  • regularne dane interwałowe reprezentujące użycie pamięci w bajtach;
  • zdarzenie błędu, jeśli pamięć przekracza określony limit.
  • Zatem Node nie jest serwerem WWW, ale jednym ze sposobów na stworzenie kodukomputer Jest to środowisko do wykonywania javascript.

    Powiązane publikacje