Como criar um app React consumindo um back-end Node com Express

Diego Martins de Pinho
Code Prestige
Published in
3 min readJan 22, 2018

Se você já usou o React, provavelmente em algum momento se perguntou se é possível criar, dentro do mesmo projeto, o front-end com ele e ao mesmo tempo consumir uma API em Node. É possível e o processo é mais simples do que parece.

Para este projeto, vamos utilizar o create-react-app e o Express.

Versão em Vídeo

Além das instruções que daremos abaixo, você também pode acompanhar todos os passos que serão feitos neste vídeo abaixo:

Se você gostou, se inscreva no nosso canal para receber as novidades!

Criando a base do projeto

O primeiro passo é criar o seu projeto React utilizando o pacote create-react-app (se você ainda não o conhece, clique aqui). Para isso, basta digitar o seguinte comando no terminal:

create-react-app node-react

A ferramenta do Facebook vai criar todo o código base para o projeto em React funcionar. Isso pode levar alguns minutos. Feito isso, entre na raiz do projeto, crie uma pasta chamada /client e mova todo o código gerado para dentro dela.

O back-end com Express

Na raiz do projeto, junto a pasta /client que desenvolvemos no passo anterior, crie um novo arquivo chamado package.json (o ponto de partida de qualquer projeto NodeJS). Nele, copie o seguinte conteúdo:

Não esqueça de executar o npm install para instalar as dependências!

Aqui usaremos o pacote concurrently para rodar a aplicação React e o servidor ao mesmo tempo. Agora, crie um arquivo chamado server.js e insira o seguinte conteúdo:

Simples API para responder ao endpoint /api/mensagem

Este código é uma simples API REST utilizando o Express. Em resumo, ele cria um endpoint em /api/mensagem e retorna uma simples mensagem “Hello from Express”. Iremos consumir esta API lá no front-end que já deixamos preparado.

Consumindo a API

Agora que já cuidamos da API, vamos retornar ao diretório /client. No arquivo package.json gerado pelo create-react-app, adicione a seguinte linha:

"proxy": "http://localhost:5000/"

Este é a chave para fazer tudo funcionar. Este comando diz a aplicação para jogar as requests da API para o nosso próprio servidor. Para ver a magia acontecer, basta alterar o arquivo App.js para fazer a chamada:

Aqui utilizamos o state e o componentDidMount para administrar a resposta da API dentro do nosso componente. Reparem que na chamada pra API, só definimos o caminho parcial (/api/mensagem). Não é preciso definir o caminho completo exatamente por causa da linha proxy que inserimos no passo anterior.

Executando o projeto

Para ver a magia acontecer, digite no seu terminal:

npm run dev

Isso irá subir a aplicação React e o servidor ao mesmo tempo. Basta entrar na página principal da aplicação para ver que está tudo funcionando como esperado!

Bem bacana, não é mesmo? Em um próximo artigo, vamos discutir como configurar este setup para criar uma versão de produção deste projeto!

Referências

Gostou? Recomende 👏 este artigo, comente, acompanhe nossa publicação e compartilhe!

Siga nossa publicação e não perca os próximos artigos! http://www.codeprestige.com.brFacebook, Twitter, Youtube

Siga o autor deste artigo e troque uma ideia com ele! http://www.diegopinho.com.br • Twitter, LinkedIn

Aprenda mais com nossos cursos de programação online!

ECMAScript 6ECMAScript 7 e 8React 16VS CodeMais

--

--

Diego Martins de Pinho
Code Prestige

Professor de tecnologia, desenvolvedor de software e escritor