Este projeto tem como finalidade exibir a mensagem "Hello World" em tela para o usuário, usando o Node.js, um runtime de JavaScript. Foi usado o módulo http do Node.js, responsável pela criação de um pequeno servidor para esta finalidade.
Node.js é um ambiente runtime de execução de códigos JavaScript fora do navegador. Antes da criação do Node.js, o JavaScript era executado somente nos navegadores web, porém, logo após seu surgimento, o uso da linguagem foi muito além. Atualmente, JavaScript tem sua execução em apps em dispositivos Android e IOS, programas desktop, como é o caso do editor de texto da Microsoft, o Visual Studio Code (Utilizado por muitos desenvolvedores) e servidores no back-end. Exemplos de empresas que utilizam o Node.js:
-
Uber;
-
Netflix;
-
Linkedin;
-
Microsoft.
Neste projeto foram utilizadas as seguintes tecnologias:
-
Node.js (clique neste link para baixar), instalado na máquina na versão LTS;
-
Editor de texto :Bloco de Notas, Visual Studio Code, ou outro de sua preferência;
-
Navegador Web.
Para executar o projeto siga os seguintes passos:
-
Clone o repositório usando o comando git para um local de sua escolha:
git clone https://github.com/JoaoValentimDev/hello-world-nodejs
-
Entre na pasta do projeto:
cd hello-world-nodejs/
-
Execute no seu terminal/cmd o comando node seguido do nome do arquivo JavaScript:
node ./hello.js
Após o comando ser executado, a seguinte mensagem aparecerá no seu console:
Servidor rodando na porta 3000...
-
Deixe o terminal/prompt aberto e abra seu navegador de Internet. Na sequência, digite na barra de pesquisa "localhost:3000" e tecle Enter.
Finalmente, aparecerá a frase na sua tela.
Obs: Para que o comando node funcione, o Node.js deve estar instalado na sua máquina.
Em nosso arquivo "hello.js" temos os seguintes comandos:
const http = require('http');
const meuServidor = http.createServer(function (requisicao, resposta) {
resposta.setHeader('Content-type', 'text/plain');
resposta.end('Hello World');
});
meuServidor.listen(3000, function() {
console.log('Servidor rodando na porta 3000...');
});
Mas o que cada uma dessas linhas fazem?
A primeira linha é responsável por importar o módulo http a partir da diretiva require. Quando importamos um módulo, é comum uma constante receber o seu nome, para tal usamos a palavra reservada const, que define uma constante em JavaScript.
const http = require('http');
Na segunda linha, iniciamos a criação de um pequeno servidor, este exibirá no navegador a nossa mensagem "Hello World". Usamos para esta ocasião a função createServer, que é própria do módulo http, para trabalhar com servidores. Ela recebe uma requisição e uma resposta.
Armazenamos tudo dentro de uma constante chamada "meuServidor", que usaremos depois.
const meuServidor = http.createServer(function (requisicao, resposta) {
resposta.setHeader('Content-type', 'text/plain');
resposta.end('Hello World');
});
Definimos então o cabeçalho de nossa resposta com setHeader , que dirá que o conteúdo retornado deve ser um texto. Para retornar essa mensagem, utilizamos a função end.
No fim do arquivo temos a função listen do http, responsável por dar uma porta para nosso servidor rodar, neste caso a 3000. Também temos uma função que retornará uma mensagem no terminal/prompt, no nosso caso: "Servidor rodando na porta 3000...".
meuServidor.listen(3000, function() {
console.log('Servidor rodando na porta 3000...');
});
Assim temos tudo para nossa aplicação funcionar e exibir nossa mensagem no navegador.