Estrutura do projeto Next.js


Ao criar um projeto Next.js, você encontrará uma série de arquivos e diretórios que servem para organizar o código, gerenciar dependências e configurar o comportamento da aplicação.

Sendo que alguns desses elementos são utilizados pelo Next.js como arquivos de configuração, e para a ferramenta poder os diferenciais, eles seguem algumas convenções de nomenclatura.

Diretório de nível superior

Os diretórios de nível superior são usados para organizar o código da aplicação e os recursos estáticos.

  • app: Diretório utilizado pelo App Router.
  • pages: Diretório utilizado pelo Pages Router.
  • public: Diretório para arquivos estáticos, como imagens, fontes e outros recursos que precisam ser servidos diretamente.
  • src: Diretório opcional para organizar o código-fonte da aplicação. Usar este diretório pode ajudar a manter o projeto mais organizado.

Arquivos de nível superior

Os arquivos de nível superior são usados para configurar a aplicação, gerenciar dependências, executar middlewares, integrar ferramentas de monitoramento e definir variáveis de ambiente.

  • next.config.js: Arquivo de configuração do Next.js. Permite personalizar o comportamento do framework, como definições de build, roteamento e configurações de plugins.
  • package.json: Arquivo que define as dependências do projeto e scripts de execução. É gerenciado pelo NPM ou yarn e contém metadados sobre o projeto.
  • instrumentation.ts: Arquivo utilizado para integração com OpenTelemetry e outras ferramentas de instrumentação.
  • middleware.ts: Arquivo para middlewares de requisição do Next.js. Permite a execução de código personalizado durante o processamento de requisições.
  • .env: Arquivo para definir variáveis de ambiente padrão usadas pela aplicação.
  • .env.local: Arquivo para definir variáveis de ambiente locais.
  • .env.production: Arquivo para definir variáveis de ambiente para o ambiente de produção.
  • .env.development: Arquivo para definir variáveis de ambiente para o ambiente de desenvolvimento.
  • .eslintrc.json: Arquivo de configuração para o ESLint, usado para garantir a consistência e qualidade do código.
  • .gitignore: Arquivo que especifica quais arquivos e diretórios devem ser ignorados pelo Git.
  • next-env.d.ts: Arquivo de declaração do TypeScript para Next.js. Necessário para garantir a correta tipagem do TypeScript no projeto.
  • tsconfig.json: Arquivo de configuração do TypeScript. Define como o compilador do TypeScript deve processar o código.
  • jsconfig.json: Arquivo de configuração do JavaScript. Utilizado em projetos que não utilizam TypeScript, mas precisam de configurações específicas para o editor.

Referências


Next.js