Javascript Node

Criando um servidor HTTP com Express

O Express é um framework utilizado em conjunto com o Node.js. Ele possui características que facilitam o desenvolvimento de nossas aplicações web e APIs, como um sistema de rotas completo, tratamento de exceções, gerenciamento de requisições HTTP e muito mais.

2 meses atrás

O Express é um framework utilizado em conjunto com o Node.js. Ele possui características que facilitam o desenvolvimento de nossas aplicações web e APIs, como um sistema de rotas completo, tratamento de exceções, gerenciamento de requisições HTTP e muito mais. Aliás, temos um artigo explicando o que é o Express, aconselho a leitura.

Node.js - Fundamentos
Curso Node.js - Fundamentos
Conhecer o curso

Instalação do Express

Primeiramente, você deve ter o ambiente Node.js instalado. Temos um artigo explicando passo a passo a instalação do node.js no Windows, Mac e Linux.

Logo, vamos criar um novo projeto na pasta raiz ‘http’, e dentro dela vamos iniciar o projeto node.js pelo comando npm install. Portanto, a estrutura do projeto ficará da seguinte forma:

OBS: Em nosso artigo “O que é npm e como usar uma biblioteca instala por ele”, explicamos sobre o uso do NPM e também sobre as características do arquivo package.json.

Agora precisamos instalar o Express, para isso vamos utilizar o comando: npm install --save express. Onde a flag --save é utilizada para salvar as dependências do nosso projeto no arquivo package.json. Ou seja, após a instalação o arquivo package.json ficará similar ao exemplo abaixo:

{
  "name": "http-server",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.17.1"
  }
}

MongoDB - Desenvolvedor
Curso MongoDB - Desenvolvedor
Conhecer o curso

Criando servidor HTTP com Express

Após a instalação do Express, podemos efetivamente colocar a mão na massa. Para isso, vamos importar o Express em nosso arquivo index.js.

import express from 'express';

Perceba que utilizamos o padrão do ES6 para importar o Express, portanto, não podemos esquecer de adicionar o atributo "type": "module" no arquivo package.json, caso contrário teremos um erro de importação.

Agora vamos declarar a constante app e utilizar o método listen() para subir nosso servidor, vamos utilizar a porta 3000. Teremos o seguinte código:

import express from 'express';

const app = express();

app.listen(3000, () => 
console.log('Servidor iniciado na porta 3000')
);

Neste caso passamos como parâmetro a porta (3000) e uma arrow function para exibir um log com a mensagem de que tudo está ok.

Porém ao acessar nosso servidor pela porta 3000 (http://localhost:3000/), vamos obter a mensagem “Cannot GET /”, afinal, não configuramos nenhuma rota para a requisição feita pelo navegador.

Para configurar essa rota, vamos utilizar o método get(), que recebe dois parâmetros, a rota e o que vamos retornar nesta requisição (request e response).

import express from 'express';

const app = express();

app.listen(3000, () => 
	console.log('Servidor iniciado na porta 3000')
);

app.get('/', (req, res) => 
res.send('<h1 style="color: blue">CRIANDO UM SERVIDOR COM EXPRESS.JS</h1>')
);

Ao reiniciar o servidor, portanto, retornará o seguinte conteúdo conforme o exemplo acima:

Conclusão

Aprendemos neste artigo a instalar e criar um servidor http com o framework Express.js para Node.js. Como visto, podemos criar servidores http de forma simples com o Express.js e mais robustos que a solução nativa que o node.js permite.

No próximo artigo vamos explorar as opções de rota que o Express permite em nossas aplicações. Até lá :)

Express - Otimização de aplicações Node.js
Curso Express - Otimização de aplicações Node.js
Conhecer o curso

Autor(a) do artigo

Wesley Gado
Wesley Gado

Formado em Análise e Desenvolvimento de Sistemas pelo Instituto Federal de São Paulo, atuou em projetos como desenvolvedor Front-End. Nas horas vagas grava Podcast e arrisca uns três acordes no violão.

Todos os artigos

Artigos relacionados Ver todos