Criando uma biblioteca com ng generate
Estruture um projeto de biblioteca.
Criando uma biblioteca com ng generate é uma aula grátis de Angular Academy no CoddyKit. Esta é a aula 1 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 Angular Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Angular Academy inclui 4 aulas no total.
Por que criar uma biblioteca
Quando vários aplicativos precisam dos mesmos componentes, serviços ou utilitários, empacote-os como uma biblioteca Angular. Uma biblioteca é reutilizável, versionada e publicável, em vez de exigir que você copie e cole código entre projetos.
Os espaços de trabalho contêm bibliotecas
As bibliotecas ficam dentro de um espaço de trabalho Angular: uma pasta gerenciada por um único angular.json que pode conter vários aplicativos e bibliotecas. Você pode adicionar uma biblioteca a um espaço de trabalho existente ou criar um espaço dedicado.
ng new my-workspace --create-application=false
# a workspace with no app, ready to hold librariesGerando uma biblioteca
O esquema ng generate library (com o alias ng g lib) cria a estrutura inicial de um novo projeto de biblioteca em projects/.
ng generate library ui-kit
# creates projects/ui-kit with a sample component, module, and public-api.tsO que é criado
A biblioteca vem com sua própria pasta src/lib, um arquivo agregador public-api.ts, um ng-package.json (para a compilação) e uma entrada em angular.json. Ela é um projeto independente que pode ser compilado.
projects/ui-kit/
src/
lib/ # your components & services
public-api.ts
ng-package.json
package.jsonAdicionando componentes à biblioteca
Gere código na biblioteca direcionando o comando para ela com --project. A CLI coloca os arquivos na pasta correta.
ng generate component button --project=ui-kit
ng generate service theme --project=ui-kitComponentes independentes em bibliotecas
As bibliotecas modernas priorizam componentes independentes, que os consumidores importam diretamente sem um NgModule. Marque o componente com standalone: true para que os aplicativos possam usá-lo com uma simples importação.
@Component({
selector: 'lib-button',
standalone: true,
template: '<button class="lib-btn"><ng-content></ng-content></button>',
})
export class ButtonComponent {}O package.json da biblioteca
Cada biblioteca tem seu próprio package.json, que define seu nome, sua versão e suas dependências de pares, como @angular/core. As dependências de pares significam que o aplicativo consumidor fornece o Angular, evitando cópias duplicadas.
{
"name": "ui-kit",
"version": "0.0.1",
"peerDependencies": { "@angular/core": "^18.0.0" }
}Desenvolvendo com um aplicativo local
Mantenha um aplicativo de demonstração no mesmo espaço de trabalho para exercitar a biblioteca enquanto você a desenvolve. Importar pelo nome da biblioteca resolve o caminho para o código-fonte local por meio dos mapeamentos de caminhos do TypeScript em tsconfig.
Biblioteca versus aplicativo
Um aplicativo é feito para ser implantado; uma biblioteca é feita para ser consumida. Bibliotecas não podem ser disponibilizadas diretamente: elas são compiladas em um pacote distribuível e publicadas ou importadas pelos aplicativos do espaço de trabalho.
Mantenha as bibliotecas focadas
Uma boa biblioteca tem um propósito claro (um kit de interface do usuário, uma camada de acesso a dados). Evite reunir código sem relação; bibliotecas coesas são mais fáceis de versionar, documentar e reutilizar.
Próximos passos
Com a estrutura inicial da biblioteca pronta, resta definir sua API pública, compilá-la no Angular Package Format e publicá-la. As próximas lições abordam cada uma dessas etapas.
Verificação rápida
Como você cria uma biblioteca?
Recapitulação
As bibliotecas empacotam código reutilizável para vários aplicativos. Crie uma com ng generate library dentro de um espaço de trabalho; o comando cria a estrutura inicial de src/lib, public-api.ts, ng-package.json e um package.json com dependências de pares. Adicione código usando --project, prefira componentes independentes e mantenha cada biblioteca focada.
Perguntas Frequentes
A aula “Criando uma biblioteca com ng generate” é grátis?
Sim — o texto completo de “Criando uma biblioteca com ng generate” é 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 Angular Academy, atualize para CoddyKit PRO. O curso de Angular Academy inclui 4 aulas no total.
O que vou aprender em “Criando uma biblioteca com ng generate”?
Estruture um projeto de biblioteca. Você pratica Angular 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 Angular Academy?
Nenhuma experiência prévia é necessária. Angular 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 1 de 4.
Quanto tempo leva a aula “Criando uma biblioteca com ng generate”?
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 Angular Academy?
Sim. Cada aula de Angular 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
- Criando uma biblioteca com ng generate
- API pública e pontos de entrada
- Criando com ng-packagr
- Publicando no npm