Este projeto implementa um servidor HTTP com capacidade de leitura de arquivos do sistema de arquivos local. Ele serve páginas HTML estáticas e demonstra como manipular diferentes tipos de conteúdo baseado na extensão dos arquivos.
- Node.js instalado (versão 12.x ou superior)
- Clone o repositório
- Navegue até a pasta do projeto:
cd app02 - Instale as dependências:
npm install
- Para iniciar o servidor normalmente:
npm start - Para iniciar o servidor com recarga automática (desenvolvimento):
npm run dev
O servidor estará rodando em http://localhost:3000
- Leitura de arquivos com o módulo
fsdo Node.js - Promisificação de callbacks para melhor manipulação assíncrona
- Tratamento de diferentes tipos de arquivos baseado em suas extensões
- Servir conteúdo estático de forma dinâmica
- Manipulação de caminhos com o módulo
path - Criação de respostas HTML, CSS e JavaScript
- Tratamento de erros com try/catch em funções assíncronas
server.js: Arquivo principal que contém o código do servidorpackage.json: Metadados e dependências do projetopublic/: Diretório contendo arquivos estáticos:index.html: Página inicialsobre.html: Página com informações sobre o projetocontato.html: Formulário de contato simulado404.html: Página de erro personalizada para rotas não encontradas
- Roteamento básico para diferentes páginas HTML
- Leitura assíncrona de arquivos usando Promises
- Identificação de tipos de conteúdo (MIME types) baseado na extensão do arquivo
- Listagem de arquivos em um diretório
- Tratamento personalizado de erros 404 (página não encontrada)
- Tratamento de erros 500 (erro interno do servidor)
Para evoluir seus conhecimentos após este projeto, considere:
- Implementar um sistema de roteamento mais robusto
- Adicionar suporte para formulários com processamento real
- Integrar um banco de dados simples (arquivo JSON)
- Implementar APIs REST básicas
- Criar um sistema de log de requisições