Categorias do Site

Domine a depuração JavaScript para apps web

Aprenda a depurar JavaScript em aplicações web usando ferramentas como Chrome DevTools e mapas de origem.

Um círculo amarelo com as letras

À medida que sua aplicação web cresce em complexidade, torna-se essencial dominar a arte da depuração. Depurar JavaScript de forma eficaz envolve mais do que apenas corrigir erros. É necessário entender como seu código funciona internamente para garantir que sua aplicação funcione sem problemas e ofereça a melhor experiência ao usuário.

debugging javascript web apps

O código minificado, que é a versão do seu código que chega aos usuários em produção, é otimizado para desempenho, mas pode ser um pesadelo para depurar. Com as ferramentas certas, a depuração de JavaScript pode se tornar muito mais fácil. Este artigo explora como usar mapas de origem para depurar código minificado e outras técnicas usando o Chrome DevTools para identificar e resolver problemas de forma eficiente em sua aplicação web.

Aplicativo de exemplo

Vamos trabalhar em um aplicativo simples que incrementa uma contagem e a registra no console. Este app demonstra como o código minificado pode tornar a depuração complicada e como os mapas de origem podem ajudar a simplificar o processo.

No arquivo package.json, adicione os pacotes webpack e execute npm i para instalá-los. Usaremos o webpack como parte do processo de build para gerar código minificado para produção:

  "devDependencies": {
    "webpack": "^5.96.1",
    "webpack-cli": "^5.1.4"
  }

Para habilitar a minificação do código, adicione um arquivo webpack.config.js com o seguinte snippet. Definir o modo como production informa ao webpack para aplicar otimizações como minificação:

 const path = require('path');
    module.exports = {
        mode: 'production',
        entry: './src/index.js',
        output: {
            path: path.resolve(__dirname, 'dist'),
            filename: 'bundle.js',
        },
    };

Agora execute npx webpack para empacotar e minificar seu código. O arquivo dist/bundle.js é gerado com o conteúdo conforme mostrado abaixo. A minificação obscurece nomes de variáveis e funções, removendo caracteres desnecessários como espaços em branco, comentários e código não utilizado, tornando o arquivo de saída menor e mais rápido de carregar.

Finalmente, execute o app e verifique o console após clicar no botão. Para pré-visualizar o app localmente, você pode usar a extensão Live Server no VS Code.

8 estratégias de depuração JavaScript para apps web

Vamos demonstrar oito métodos para ajudar a tornar a depuração de JavaScript um pouco mais fácil:

1. Mapas de origem

Os mapas de origem são arquivos que mapeiam seu código minificado de volta para o código-fonte original. Eles facilitam a depuração e ajudam a investigar problemas em produção.

2. Breakpoints

Breakpoints permitem pausar a execução do código em linhas específicas, ajudando a inspecionar variáveis, avaliar expressões e entender o fluxo do código.

3. Painel de escopo

O painel de escopo pode ser eficaz para a depuração de JavaScript, pois permite ver variáveis do código-fonte original.

4. Percorrendo o código (step into, step over, step out)

Percorrer seu código envolve navegar pelo programa de diferentes maneiras durante a depuração de JavaScript.

5. A pilha de chamadas

A pilha de chamadas mostra a sequência de chamadas de função que levaram ao ponto atual no código.

6. Ignorando scripts

Durante a depuração, pode ser desejável ignorar certos scripts durante seu fluxo de trabalho.

7. Expressões de observação

Expressões de observação permitem rastrear variáveis ou expressões específicas à medida que seu código é executado, ajudando a monitorar mudanças em tempo real.

8. Depuração de snippets de código

Para tentar corrigir o bug com a contagem total, você pode executar snippets de código no console para entender o erro lógico.

Conclusão

Este tutorial explorou a depuração de código minificado usando mapas de origem e Chrome DevTools. Gerando mapas de origem, mapeamos o código minificado de volta para sua fonte original, facilitando a depuração de nossa aplicação web. O Chrome DevTools aprimorou ainda mais o processo de depuração de JavaScript com métodos como breakpoints, percorrendo o código, expressões de observação e mais.

  • Vulnerabilidade no middleware do Next.js

    Vulnerabilidade crítica no Next.js permite burlar segurança. Atualize para a versão corrigida e proteja suas rotas.

    Vulnerabilidade crítica no Next.js permite burlar segurança. Atualize para a versão corrigida e proteja suas rotas.

    Ler notícia completa
    Imagem abstrata com fundo em gradientes de rosa e roxo e logo preto com letra 'N' em branco no centro.
  • Design de Conteúdo é Essencial no UX

    Design de conteúdo guia usuários e melhora UX, integrando pesquisa e dados para experiências digitais claras e relevantes.

    Design de conteúdo guia usuários e melhora UX, integrando pesquisa e dados para experiências digitais claras e relevantes.

    Ler notícia completa
    Ícone de livros roxos sobre fundo bege com padrões abstratos de fumaça em tons de marrom e dourado.
  • O que faz um gerente de UX?

    Descubra o papel crucial do gerente de UX nas empresas e como ele pode impactar produtos e equipes.

    Descubra o papel crucial do gerente de UX nas empresas e como ele pode impactar produtos e equipes.

    Ler notícia completa
    Ícone de usuário roxo com engrenagem sobre fundo holográfico iridescente.
  • 20+ Templates Gratuitos de Brochura InDesign 2025

    Está procurando uma maneira rápida de criar brochuras para promover seu negócio, serviços ou produtos? Conheça estes templates gratuitos para Adobe InDesign! Com esses modelos, você não precisa criar do zero. Basta preencher os campos em branco e personalizar o design. A facilidade de uso torna esses templates a solução perfeita para atrair um público […]

    Descubra mais de 20 templates gratuitos de brochura para InDesign em 2025. Ideal para criativos promoverem negócios e serviços.

    Ler notícia completa
    Layout de várias páginas de uma revista de design de interiores mostradas sobre um fundo de mármore, com o ícone do Adobe InDesign no canto.
  • OpenAI Codex: Revolução ou Risco para Desenvolvedores?

    Codex da OpenAI chegou oficialmente, prometendo transformar a forma como escrevemos código. O Codex da OpenAI é um avanço audacioso no desenvolvimento de software assistido por inteligência artificial. Para desenvolvedores, é como ter um copiloto capaz de escrever código, depurar problemas e até gerar pull requests. No entanto, embora o Codex pareça um sonho para […]

    OpenAI Codex promete transformar o desenvolvimento, mas apresenta desafios de segurança, ética e dependência excessiva.

    Ler notícia completa
    Interface de software com um painel central rotulado
  • Novidades do Node.js 24: Atualizações e Expectativas

    O Node.js 24 foi lançado oficialmente em 6 de maio de 2025, trazendo atualizações focadas em inovação e estabilidade a longo prazo. Ele entrará em LTS (Suporte de Longo Prazo) em outubro de 2025, tornando-se uma versão chave para adoção em ambientes de produção. Este artigo explora os principais novos recursos e orienta sobre como […]

    Node.js 24 lançado com melhorias de performance e segurança. Atualize seus projetos para aproveitar as novas funcionalidades.

    Ler notícia completa
    Logotipo verde do Node.js sobre brotos de planta crescendo na terra, simbolizando crescimento e desenvolvimento, com um fundo desfocado de luz solar.
  • Entendendo o Sobrealinhamento em IA

    O que é o sobrealinhamento? Sobrealinhamento descreve uma falha de alinhamento em interações humano-IA, ocorrendo quando sistemas de IA dependem excessivamente da expertise ou percepções do usuário sem validação independente. Isso pode reforçar suposições incorretas, gerando um ciclo prejudicial de esforço cognitivo e emocional. Como o sobrealinhamento funciona? Sistemas de IA, como GPT-4 e 4.5, […]

    Sobrealinhamento em IA: riscos, impactos psicológicos e como mitigar.

    Ler notícia completa
    Diagrama mostrando ciclo de feedback falho intitulado
  • 3 estudos de caso: quando rapidez não é o melhor

    No desenvolvimento de produtos, a velocidade é muitas vezes celebrada. Muitas empresas acreditam que quanto mais rápido lançam, mais rapidamente recebem feedback e se adaptam ao mercado. No entanto, essa pressa pode levar a problemas como dívida técnica, experiências ruins para o usuário e equipes sobrecarregadas, ameaçando a viabilidade do produto a longo prazo. Este […]

    Rapidez nem sempre é ideal no desenvolvimento de produtos. Veja 3 casos que mostram os riscos de decisões rápidas.

    Ler notícia completa
    Ícone de ampulheta com relógio sobre fundo decorativo azul e roxo que apresenta um padrão de círculos sobrepostos.
  • Como especializações podem afetar sua carreira

    Quando ferramentas de IA generativa como ChatGPT e Midjourney começaram a ganhar atenção, muitos designers ficaram nervosos. Especialmente os especialistas em UI, que sentiram a pressão. Designers que construíram suas carreiras criando interfaces perfeitas foram comparados a sistemas de IA que poderiam fazer o mesmo em segundos. O que antes parecia uma vantagem competitiva — […]

    Especializações em design podem limitar sua carreira. Descubra como expandir suas habilidades e garantir crescimento futuro.

    Ler notícia completa
    Ícones de uma figura humana roxa e uma figura humana vermelha com design de circuito, sobre fundo azul texturizado com efeito aquarela.