A estrutura Node.js é usada principalmente para criar aplicativos baseados em servidor. A estrutura pode ser facilmente usada para criar servidores web que podem servir conteúdo aos usuários.
Há uma variedade de módulos, como o módulo "http" e "request", que ajuda no processamento de solicitações relacionadas ao servidor no espaço do servidor web. Veremos como podemos criar um aplicativo de servidor web básico usando o Node js.
Node como um servidor web usando HTTP
Vejamos um exemplo de como criar e executar nosso primeiro aplicativo Node js.
Nosso aplicativo irá criar um módulo de servidor simples que irá escutar na porta nº 7000. Se uma solicitação for feita através do navegador nesta porta nº, então o aplicativo servidor enviará uma resposta 'Hello World' ao cliente.
Explicação do código:
- A funcionalidade básica da função require é que ela lê um arquivo JavaScript, executa o arquivo e, a seguir, retorna o objeto de exportação. Portanto, em nosso caso, como queremos usar a funcionalidade do módulo http, usamos a função require para obter as funções desejadas do módulo http para que possam ser usadas em nossa aplicação.
- Nesta linha de código, estamos criando um aplicativo de servidor baseado em uma função simples. Esta função é chamada sempre que uma solicitação é feita ao nosso aplicativo de servidor.
- Quando uma solicitação é recebida, estamos dizendo para enviar uma resposta com um tipo de cabeçalho de '200'. Este número é a resposta normal enviada em um cabeçalho http quando uma resposta bem-sucedida é enviada ao cliente.
- Na própria resposta, estamos enviando a string 'Hello World'.
- Em seguida, estamos usando a função server.listen para fazer nosso aplicativo de servidor escutar as solicitações do cliente na porta nº 7000. Você pode especificar qualquer porta disponível aqui.
Se o comando for executado com sucesso, a seguinte Saída será mostrada quando você executar seu código no navegador.
Resultado:
Da saída,
- Você pode ver claramente que se navegarmos até a URL de localhost na porta 7000, você verá a string 'Hello World' exibida na página.
- Como em nosso código mencionamos especificamente para o servidor escutar na porta nº 7000, podemos visualizar a saída ao navegar para este url.
Aqui está o código para sua referência
var http=require('http')var server=http.createServer((function(request,response){response.writeHead(200,{"Content-Type" : "text/plain"});response.end("Hello World\n");}));server.listen(7000);
Tratamento de solicitações GET em Node.js
Fazer uma solicitação GET para obter os dados de outro site é relativamente muito simples no Node.js. Para fazer uma solicitação Get no nó, primeiro precisamos ter o módulo de solicitação instalado. Isso pode ser feito executando a seguinte linha na linha de comando
pedido de instalação npm
O comando acima solicita que o gerenciador de pacotes do Node baixe os módulos de solicitação necessários e os instale de acordo.
Quando o módulo npm for instalado com sucesso, a linha de comando mostrará o nome e a versão do módulo instalado:
No instantâneo acima, você pode ver que o módulo 'request' junto com a versão número 2.67.0 foi baixado e instalado.
Agora vamos ver o código que pode fazer uso desse comando 'request'.
Explicação do código:
- Estamos usando o módulo 'request' que foi instalado na última etapa. Este módulo possui as funções necessárias que podem ser utilizadas para fazer solicitações GET a websites.
- Estamos fazendo uma solicitação GET para www.google.com e, posteriormente, chamando uma função quando uma resposta for recebida. Quando uma resposta é recebida, os parâmetros (erro, resposta e corpo) terão os seguintes valores
- Erro - Caso haja algum erro recebido ao utilizar a solicitação GET, ele será registrado aqui.
- Resposta- A resposta terá os cabeçalhos http que são enviados de volta na resposta.
- Corpo- O corpo conterá todo o conteúdo da resposta enviada pelo Google.
- Nesse caso, estamos apenas gravando o conteúdo recebido no parâmetro body no arquivo console.log. Então, basicamente, tudo o que obtivermos acessando www.google.com será gravado no console.log.
Aqui está o código para sua referência
var request = require("request");request("http://www.google.com",function(error,response,body){console.log(body);});
Resumo
- A estrutura Node.js pode ser usada para desenvolver servidores web usando o módulo 'http'. O aplicativo pode ser feito para escutar em uma porta específica e enviar uma resposta ao cliente sempre que uma solicitação for feita ao aplicativo.
- O módulo 'pedido' pode ser usado para obter informações de sites. As informações conteriam todo o conteúdo da página da web solicitada no site relevante.