Introdução
Se você está começando com Angular, pode se sentir perdido ao configurar e usar conceitos como services. Services são usados para centralizar a lógica de negócios e compartilhar dados entre componentes. Neste artigo, vamos criar um service do zero, desde a criação do projeto Angular até a integração com componentes. Vamos explicar o que é o arquivo app.module.ts
, onde encontrar os arquivos gerados, e como testar sua aplicação.
Passo a Passo Completo
1. Instalar o Angular CLI
Antes de tudo, precisamos do Angular CLI, uma ferramenta de linha de comando que facilita a criação e gerenciamento de projetos Angular.
- No terminal, execute:
npm install -g @angular/cli
- Verifique se foi instalado corretamente:
ng version
2. Criar o Projeto Angular
Para criar o projeto, use o comando:
ng new meu-projeto
O CLI pedirá algumas configurações:
- Would you like to add Angular routing?: Escolha
Yes
para habilitar o roteamento. - Which stylesheet format would you like to use?: Escolha
CSS
ou qualquer outro formato que prefira (SCSS, por exemplo).
Depois que o projeto for criado, entre no diretório:
cd meu-projeto
Inicie o servidor de desenvolvimento:
ng serve
Abra o navegador e acesse: http://localhost:4200. Você verá a página inicial do Angular.
3. Estrutura do Projeto Angular
Aqui estão os principais diretórios e arquivos que usaremos:
src/app/
: Onde ficam os componentes, serviços e módulos.app.module.ts
: O “coração” da aplicação Angular. É o arquivo onde registramos componentes, serviços e módulos.app.component.html
: O arquivo principal onde testaremos as mudanças no frontend.
4. Criar o Service
Agora que temos o projeto, vamos criar um service usando o Angular CLI. No terminal, digite:
ng generate service services/produto
Este comando cria dois arquivos:
src/app/services/produto.service.ts
: Contém a lógica do serviço.src/app/services/produto.service.spec.ts
: Arquivo de teste para o serviço.
5. Adicionar Funcionalidades ao Service
Abra o arquivo src/app/services/produto.service.ts
. Atualize o serviço para gerenciar uma lista de produtos:
import { Injectable } from '@angular/core';
export interface Produto {
id: number;
nome: string;
preco: number;
}
@Injectable({
providedIn: 'root', // Disponível para toda a aplicação
})
export class ProdutoService {
private produtos = [
{ id: 1, nome: 'Produto A', preco: 100 },
{ id: 2, nome: 'Produto B', preco: 200 },
];
constructor() {}
// Retorna a lista de produtos
getProdutos() {
return this.produtos;
}
// Adiciona um produto à lista
addProduto(produto: { id: number; nome: string; preco: number }) {
this.produtos.push(produto);
}
}
6. Consumir o Service em um Componente
Agora, vamos usar o serviço em um componente.
Passo 1: Criar um Componente
No terminal, crie um componente chamado produto-list
:
ng generate component produto-list
Este comando cria:
src/app/produto-list/produto-list.component.ts
: Lógica do componente.src/app/produto-list/produto-list.component.html
: Template HTML do componente.src/app/produto-list/produto-list.component.scss
: Estilos do componente.
Passo 2: Modificar o Componente
Abra o arquivo src/app/produto-list/produto-list.component.ts
e injete o serviço:
import { Component, OnInit } from '@angular/core';
import { Produto, ProdutoService } from '../services/produto.service';
@Component({
selector: 'app-produto-list',
templateUrl: './produto-list.component.html',
styleUrls: ['./produto-list.component.scss'],
})
export class ProdutoListComponent implements OnInit {
produtos: Produto[] = [];
constructor(private produtoService: ProdutoService) {}
ngOnInit(): void {
// Obtém os produtos do serviço
this.produtos = this.produtoService.getProdutos();
}
}
Passo 3: Atualizar o Template
Abra o arquivo src/app/produto-list/produto-list.component.html
e exiba a lista de produtos:
<h2>Lista de Produtos</h2>
<ul>
<li *ngFor="let produto of produtos">
{{ produto.nome }} - R$ {{ produto.preco }}
</li>
</ul>
7. Registrar o Componente no app.module.ts
O arquivo app.module.ts
é onde registramos os componentes e módulos usados na aplicação. Ele fica em src/app/app.module.ts
.
Certifique-se de que o ProdutoListComponent
está registrado:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { ProdutoListComponent } from './produto-list/produto-list.component';
@NgModule({
declarations: [
AppComponent,
ProdutoListComponent, // Componente adicionado aqui
],
imports: [
BrowserModule,
AppRoutingModule,
],
providers: [],
bootstrap: [AppComponent],
})
export class AppModule {}
8. Testar a Aplicação
- No arquivo
src/app/app.component.html
, substitua o conteúdo pelo seletor do componenteProdutoListComponent
:<app-produto-list></app-produto-list>
- No terminal, inicie o servidor novamente:
ng serve
- Acesse http://localhost:4200. Você verá a lista de produtos renderizada na página.
- Você irá visualizar a página listando os produtos.
![](https://kanechan.com.br/wp-content/uploads/2025/01/image-29.png)
Resumo
- Criamos um projeto Angular com o Angular CLI.
- Criamos um service para gerenciar uma lista de produtos.
- Injetamos o service em um componente para exibir os produtos.
- Testamos o funcionamento do componente integrando com o service.
Conclusão
Seguindo este guia, você pode criar services e componentes no Angular com confiança. Serviços são fundamentais para centralizar a lógica de negócios e garantir que a aplicação seja organizada e escalável. Se você é um desenvolvedor iniciante, agora tem as ferramentas para criar e testar seus próprios serviços no Angular.
Se gostou deste artigo ou tem dúvidas, deixe seu comentário! 🚀