Wprowadzenie do Node.js

Logo Node JS

Wpis ten będzie dotyczyć platformy pozwalającej uruchomić kod JavaScript na serwerze: Node.js

Jest ona zbudowana na silniku JS V8 – tym samym, który jest używany między innymi w przeglądarce Google Chrome, dzięki czemu nasz kod JavaScript możemy uruchamiać poza przeglądarką. Dodatkowo dzięki modułom node.js jak i API mamy więcej możliwości niż w zwykłym JavaScript  – możemy np. tworzyć aplikacje łączące się z bazą danych. Dzięki node.js jesteśmy w stanie tworzyć serwery WWW napisane w języku JavaScript.

Do instalacji rozszerzeń dla node.js niezbędny jest NPM: https://www.npmjs.com/

Używanie node.js

Aby zacząć korzystać z node.js musimy oczywiście go zainstalować: http://nodejs.org/download/

Po zainstalowaniu możemy zacząć go używać. Przykładowy prosty program, który możemy uruchomić bezpośrednio z wiersza poleceń node:

console.log("Hello world!");
// -> Hello world!

Oczywiście możemy też wywoływać pliki js bezpośrednio z wiersza poleceń. Najpierw zapiszmy powyższy kod w pliku test.js a następnie go wywołajmy:

$node test.js
// -> Hello world!

Jak zapewne wiecie funkcja console.log to podstawowa metoda wyświetlania użytkownikowi komunikatów w konsoli JavaScript.

Serwer w node.js

Przykładowy prosty serwer w node.js:

// server.js
var http = require('http');
http.createServer(function handler(req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.end('Hello World\n <h1>Node.js!</h1>');
}).listen(1337, '127.0.0.1');

console.log('Server running at http://127.0.0.1:1337/');

Uruchamiamy powyższy plik:

$ node server.js

Teraz możemy otworzyć URL na danym porcie http://127.0.0.1:1337 i zobaczyć treść wysłaną przez nasz serwer.

Po dokonaniu jakichkolwiek zmian w kodzie, aby je zobaczyć należy ponownie uruchomić serwer.

Aby zakończyć pracę obecnego skryptu, używamy w konsoli kombinacji Ctrl + C. Następnie ponownie uruchamiamy dany plik.

Przetwarzanie danych od użytkownika – request i response

Pobieranie danych, które przesłał nam użytkownik umożliwia zdarzenie ‚data’, które uruchamia się gdy przychodzi stream danych z żądaniem HTTP.

// create server and process data
var server = http.createServer(function (req, res) {
  var requestData = '';
  if (req.method === "POST") {
    req.setEncoding('utf-8');
    req.on('data', function(data) {
      requestData += data;
    });
    req.on('end', function() {
      var postData = qs.parse(requestData);
      res.writeHead(200, {'Content-Type': 'text/html'});
      res.end('<h1>Your nick: '+ postData.nickname + '</h1>');
    });
  }
});

Do poszczególnych danych odwołujemy się w prosty sposób, np. postData.nick

Podsumowanie

Node.js jest platformą dającą naprawdę wiele możliwości. Zachęcam do zapoznania się z jej cechami w dokumentacji API node.js: http://nodejs.org/api/synopsis.html
Ten wpis to tylko bardzo krótkie wprowadzenie do wielu możliwości node.js

Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Więcej informacji

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close