Segue um exemplo bem simples de um Servidor Node Express. Os comentários descrevem o que cada linha faz no código, sendo assim temos uma base para qualquer servidor Javascript.
Vamos iniciar nosso projeto com um Servidor Node Express, instalado o Node. Por outro lado, caso não tenha, vou deixar o link para uma versão portátil do Node. É uma instalação super simples Além disso, essa verão portátil é a mesma que estarei usando nesse tutorial.
Crie uma pasta de nome node-express por fim, dentro dela execute o comando npm init -y
É gerado um arquivo package.json , aqui estão todas as dependências ou módulos do projeto. Depois execute o comando npm install express
Abaixo segue um exemplo básico de um Servidor Express. Crie um arquivo de nome server.js
Copie e cole dentro do arquivo server.js as linhas abaixo. Cada linha está comentada e explica o que faz cada comando.
// Chama o modulo express const express = require('express') // Guarda express na variavel app const app = express() // Cria a varial port com o valor 3000 const port = 3000 // Cria uma rota na raiz do site / e envia a mensagem Ola Mundo! app.get('/', (req, res) => { res.send('Ola Mundo') }) // Cria o servidor express da um console.log informando o numero da porta app.listen(port, () => { console.log(`Servidor ativo em http://localhost:${port}`) })
Temos o nosso servidor pronto para rodar. O que ele faz? Simplesmente mantem a escuta na porta 3000 e envia uma mensagem para a tela do navegador com a mensagem “Ola Mundo”.
Vamos executar o servidor no console do node com o comando: node server.js
Abra o navegador em http://localhost:3000
RECEBENDO DADOS EM URL PARAMS
Para ficar mais interessante, agora em vez de imprimir “Ola Mundo” na tela do navegador. Vamos receber informações da URL e mostrar no navegador. Isto é útil quando fizermos uma pesquisa no banco de dados e precisamos das informações que o usuário digitou.
Troque res.send(“Ola Mundo”) por res.send(req.query)
// Recebe os parametros da url e imprime no navegador app.get("/", (req, res) => { // req.query e aonde sao guardados os dados da url res.send(req.query); });
Agora é só reiniciar o servidor dando um CTR-C e node server.js
Abrir o navegador com a URL http://localhost:3000/?nome=miguel
E o resultado é o seguinte:
O que aconteceu? Abrimos a pagina raiz “/” do servidor http://localhost:3000 e posteriormente o usuário envia a variável nome com uma STRING miguel. Dessa forma, se mudarmos a variável as informações são atualizadas em tempo real no navegador.
USANDO NODEMON
Além disso, existe um modulo que evita a necessidade de ficar parando e executando o servidor sempre que for feita alguma alteração. Por isso vamos fazer CTR-C parando nosso servidor node e executar npm install nodemon
Com o nodemon instalado, sempre que fizermos alguma alteração no código os novos dados serão automaticamente atualizados. Executando nodemon server.js
USANDO POST METHOD PARA RECEBIMENTO DE DADOS
Outra forma de receber informações no servidor node express é com o método POST. É necessário usar um programa chamado Postman. Desta forma, os dados serão enviados usando esse método. Então podemos testar nossa API enviando dados com o método POST sem um Front End.
Em seguida vamos preparar nosso servidor para receber esses dados. Copie e cole o trecho de código abaixo, app.use(express.json()) com esta instrução o express vai saber que estamos a usar JSON para passar as informações. req.body recebe e guarda as variáveis nome e idade.
// Informa ao express que vamos usar formato json {} // para envio das informações app.use(express.json()); // Recebe os parametros pelo metodo POST app.post("/post", (req, res) => { // Atribui as variaveis nome e idade que sao recebidas // pelo req.body const nome = req.body.nome; const idade = req.body.idade; console.log(`O nome e: ${nome} e idade: ${idade}`); });
Abrindo agora o Postman que instalamos anteriormente, clique em Create a request.
Troque o tipo de request para POST, a pagina para http://localhost:3000/post , na barra Headers key=content-type value=application/json
Na aba Body clique em raw , e insira { “nome”: “Miguel”, “idade”: 37 } clique em SEND.
Conseguimos ver o resultado no console de nosso servidor node express.