Skip to content

Continuação introdução ao Node.js

E ai pessoal, tudo bom? Hoje vamos continuar a falar do Node.js criando um servidor web, esse é a segunda parte de três partes escrita. O assunto de hoje ainda é básico em relação ao mundo Node e por isso ainda vou continuar a explicar coisas básicas. Se você ainda não sabe nada sobre Node é aconselhável a ler o primeiro artigo.

Para começar vamos abrir o prompt do Node (Node.js Command Prompt), ao abrir temos a imagem abaixo:

Node command

Abrindo o prompt do Node é possível ver que tenho instalado a ultima versão até agora liberada, versão 4.1.2. Na próxima imagem vamos brincar um pouco:

Node command 2

Eu inicie digitando a palavra reservada node e na linha de baixo mandei imprimir uma mensagem, para imprimir a mensagem utilizei a instrução console.log(). Ao dar o enter note que o console imprime o texto que informei na instrução.

Node command 3

Na imagem acima, eu brinco mais um pouco com o console, porem agora eu crio uma função chamada newMessage() e depois a chamo passando um parâmetro como texto que será impresso no console. A diferença entre o primeiro script e segundo é apenas a criação da função

Fiz essa demonstração apenas para se ter ideia do que podemos fazer com o prompt do node. Mas fique tranquilo, esse não é o lugar que vamos utilizar para programar.

Para começar a programar eu sugiro para quem utiliza o Windows a baixar o Visual Studio Code. Mas esse não é aquele programa pesado de desenvolvimento da Microsoft? Não, Visual Studio Code é uma outra IDE, também da Microsoft, utilizada não apenas para desenvolver na plataforma Microsoft como também outras linguagens como é o caso do Node. Visual Studio Code funciona também em Linux e Mac e é muito leve. Para baixar basta seguir para https://code.visualstudio.com/Download. Fique tranquilo caso você queira usar a sua IDE de preferencia. Nesse momento você pode utilizar também o bloco de notas para criar o arquivo JavaScript e colar o conteúdo que vou disponibilizar.

Agora vamos criar um servidor web básico, para isso segue o código abaixo:

Para o servidor web funcionar devemos voltar ao prompt do Node, acessar a pasta onde está o arquivo salvo e executar o comando node basicServerWeb.js, basicServerWeb é o nome do arquivo que queremos que seja executado e desta maneira inciamos uma aplicação web na porta 3000. Na plataforma .Net para levantarmos um servidor web no Visual Studio apenas teclamos o F5, já aqui precisamos do prompt do Node.

Fique atento que caso você tenha deixado o prompt do node em execução é necessário sair e para isso você deve digitar Ctrl + C e o Node deixa de executar.

As imagens abaixo demonstram a instrução para levantar um servidor e o resultado da página impressa pelo servidor Node. Observe que eu tive primeiro que acessar o arquivo e depois executa-lo.

Node command 5

Como podem ver, a página ao fundo é o que a nossa página imprime através do servidor web Node que criamos. Mas agora vamos voltar ao código para saber realmente o que é feito no arquivo basicServerWeb.js.

Na primeira linha estamos utilizando o modulo http e criando uma instancia para a varável http. O que é modulo? Node utiliza o padrão CommonJs para organização e carregamento de módulos, ou seja, http é um modulo que estamos carregando, um modulo do Node que é responsável pela criação de um servidor web. Existem vários outros módulos para diversas coisas, nos próximos artigos nós iremos criar nossos próprios módulos. Mas para usar o padrão CommonJs é necessário duas regras: A primeira é que para carregar um modulo é necessário utilizar a instrução require(‘modulo’), já a segunda regra explicaremos mais a frente em outro artigo.

Na segunda instrução é criado uma função chamada atendeRequisicao no qual será responsável por escutar as solicitações dos usuários e criar uma resposta. Nesta função são enviados os parâmetros, requisição e resposta. Para criar uma resposta para o usuário é utilizado o parâmetro resposta que cria o cabeçalho de resposta e imprime um texto para a página.

Na terceira instrução é criado o servidor web através da variável http chamando a função createServer onde é passado a função de escuta criada antes chamada atendeRequisicao.

Na linha 15 o servidor é levantado e aberto na porta 3000, a função passada como parâmetro é apenas um comando para ser executado quando o servidor for levantado e assim ficar como um log.

Vamos agora brincar com rotas dentro do servidor web que criamos. Para isso quero criar três rotas: home, sobre e contato. Abaixo o código:

Esse código é uma atualização do código anterior, e a mudança aqui é a criação das rotas através do parâmetro requisição que valida a URL e imprime a página desejada.

Hoje conseguimos criar um servidor web básico na plataforma Node. Como Node utiliza JavaScript repare que muitas vezes o parâmetro de uma função é uma outra função (exemplo a função atendeRequisicao que é passado como parâmetro para criar o servidor). Isso não é algo comum em linguagens como C# ou Java. Mas como expliquei no primeiro artigo essa é a diferença do Node, não só por utilizar JavaScript, mas por que as funções passadas como parâmetros são conhecidas como callback e assim facilitando para que o processo não seja bloqueado.

Você deve estar imaginando se Node serve para sistemas complexos onde envolve várias rotas e páginas, já que no exemplo de hoje as coisas ficaram um pouco “horrível” de se programar. Calma! Esse é o modo mais básico para se criar um servidor web. No próximo artigo vamos utilizar um framework que vai facilitar em muito todo esse trabalho manual.

Por hoje terminamos aqui e finalizamos a segunda parte dos artigos em Node. Espero que você já tenha se familiarizado com essa plataforma e gostado do assunto. Por favor, não deixe de comentar, até mesmo para criticar 🙂

Abraços e fiquem com Deus.

Fontes

Livro NodeJs Casa do Código, Caio Ribeiro.
Livro Mean Caso do Código, Flavio Almeida.
http://Nodejs.org

Published innode.js

Be First to Comment

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *