Geração de Código com build_runner
Gere código repetitivo a partir de anotações.
Geração de Código com build_runner é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Dart Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Dart Academy inclui 4 aulas no total.
Por que gerar código
Alguns códigos são repetitivos, como a análise de JSON. A geração de código os escreve para você a partir de anotações, ajudando a manter a precisão e a rapidez. ⚙️
Conheça build_runner
build_runner é a ferramenta do Dart que executa geradores de código no seu projeto. Ela lê arquivos-fonte, encontra anotações e emite novos arquivos.
Uma dependência de desenvolvimento
Adicione build_runner em dev_dependencies no pubspec.yaml, pois ele é executado durante a compilação e nunca é enviado com seu aplicativo.
dev_dependencies:
build_runner: ^2.4.0O arquivo de parte gerado
Os geradores escrevem em um arquivo irmão. Você o vincula com uma diretiva part, cujo nome termina convencionalmente em .g.dart.
part 'user.g.dart';Execute a compilação
Inicie uma geração única com o comando build. Ele examina seu código e cria ou atualiza todos os arquivos .g.dart.
dart run build_runner buildModo de observação
Durante o desenvolvimento, o modo watch gera novamente os arquivos automaticamente sempre que você salva. Assim, os arquivos gerados permanecem sincronizados sem novas execuções manuais.
dart run build_runner watchLidando com conflitos obsoletos
Se os resultados entrarem em conflito com arquivos antigos, adicione --delete-conflicting-outputs. Isso remove os arquivos gerados obsoletos para que a nova compilação seja concluída.
dart run build_runner build --delete-conflicting-outputsAs anotações conduzem o processo
Os geradores só atuam sobre declarações que você anota. A anotação informa ao compilador qual classe deve ser processada e qual código deve ser produzido.
Não edite arquivos gerados
Trate todo arquivo .g.dart como somente leitura. A próxima compilação substituirá suas alterações; portanto, edite o código-fonte e as anotações.
Confirme ou ignore
As equipes escolhem entre confirmar os arquivos gerados ou adicioná-los ao .gitignore e reconstruí-los na CI. De qualquer forma, escolha uma política e mantenha a consistência.
Um ecossistema mais amplo
Muitos pacotes se integram ao build_runner, como json_serializable e freezed. Eles compartilham um builder de compilação, portanto um único comando executa todos.
Verificação rápida
Qual comando gera o código novamente a cada salvamento de arquivo?
Recapitulação
O build_runner transforma anotações em arquivos .g.dart gerados. Adicione-o a dev_dependencies, execute build ou watch e nunca edite o resultado. 🎉
Perguntas Frequentes
A aula “Geração de Código com build_runner” é grátis?
Sim — o texto completo de “Geração de Código com build_runner” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Dart Academy, atualize para CoddyKit PRO. O curso de Dart Academy inclui 4 aulas no total.
O que vou aprender em “Geração de Código com build_runner”?
Gere código repetitivo a partir de anotações. Você pratica Dart Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Dart Academy?
Nenhuma experiência prévia é necessária. Dart Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Geração de Código com build_runner”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Dart Academy?
Sim. Cada aula de Dart Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Anotações Integradas: override, deprecated
- Escrevendo Anotações Personalizadas
- Geração de Código com build_runner
- json_serializable em Ação