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.
Curso Node.js - Fundamentos
Conhecer o cursoInstalaçã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"
}
}
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á :)
Curso Express - Desenvolvendo aplicações web
Conhecer o cursoPor fim, caso queira aprender mais sobre Express saiba que aqui na TreinaWeb temos o curso Express - Desenvolvendo aplicações web que possui 03h09 de vídeos e um total de 18 exercícios. Conheça também nossos outros cursos de Node.js.
Veja quais são os tópicos abordados durante o curso de Express - Desenvolvendo aplicações web:
- Conhecendo a estrutura;
- Entendendo os objetos Request e Response;
- Servindo arquivos estáticos;
- Roteamento;
- Conexão com banco de dados;
- Template Engine;
- Express Generator.