DEV Community

Cover image for Estrutura de um Projeto React
Luísa Corrêa
Luísa Corrêa

Posted on

Estrutura de um Projeto React

Quem nunca teve um pouco de dificuldade para entender cada pasta e arquivo de um projeto? Então, meu objetivo aqui é esclarecer um pouco qual a funcionalidade de alguns diretórios.

Package.json

É aqui onde encontramos as principais informações do projeto, como:

  • Nome
  • Versão
  • Arquivo de inicialização
  • Licença
  • Dependências

Node Modules

Assim como o package.json, está presente em todos os projetos javascript. É nessa pasta que fica armazenado todos os códigos das dependências que instalamos em nossa aplicação.

Inicialmente podemos estranhar o tamanho da pasta se comparado ao que está sendo declarado no package.json, mas isso ocorre pois as dependencias do nosso projeto também possuem dependencias e isso vai causando um efeito cascata, um depende de outro e assim por diante.

O comum é deixar o node_modules dentro do .gitignore, pois as dependencias já estão declaradas dentro do package.json, logo não é necessário que a pasta seja traqueada

SRC

Todo o código criado por nós deve ficar nessa pasta source
Onde encontramos o código bruto

Public

Aqui fica os aquivos públicos,arquivos que precisam ser acessados pelo meio externo, como os assets e o index.html

Babel

Ferramenta que converte o código para uma maneira que todos os browsers e todo ambiente da nossa aplicação consiga entender. Isso é necessário, pois o JS é uma linguagem que se atualiza muito e o React possui muitas funcionalidades que o navegadores ainda não consegue entender, então assim o babel compila para versão compatível com todos os navegadores.

Webpack

Na maioria das vezes é utilizado juntamente do babel

Estipula uma series se configurações(Loaders) que ensinam a aplicação a tratar cada tipo de arquivo(.png, .sass, .jpg, js) que pode ser importado e assim os converte para arquivos entendíveis pelo browser.

Source Maps

Forma de conseguir visualizar o código da aplicação mesmo quando o código está tofo bagunçando do bundle.js

Sass

Pré processador de css que nos permite ter mais funcionalidades, como:

  • Encadeamento
  • Clarear
  • Escurecer

Top comments (0)