O que você precisa para desenvolver com Ionic + TypeScript
Um projeto Ionic moderno (com Angular, React ou Vue) depende de um conjunto de ferramentas que trabalham em cadeia: Node.js (runtime), npm (gerenciador de pacotes), Ionic CLI (linha de comando para criar/rodar/buildar o app) e, quando necessário, ferramentas de plataforma como Android Studio e Xcode (para builds nativos). O TypeScript entra como linguagem principal do código do app (tipagem, interfaces, classes, tooling), sendo compilado para JavaScript durante o build.
Compatibilidade de versões (regra prática)
Para evitar erros difíceis de diagnosticar, mantenha versões compatíveis e previsíveis. Uma regra prática segura é usar uma versão LTS do Node.js e manter o Ionic CLI atualizado dentro do mesmo major (quando possível). Em equipes, padronize a versão do Node para todos.
| Componente | Recomendação | Como verificar |
|---|---|---|
| Node.js | Versão LTS (evite versões experimentais) | node -v |
| npm | Vem com o Node; mantenha atualizado se necessário | npm -v |
| Ionic CLI | Instalação global para uso no terminal | ionic -v |
| Git (opcional, recomendado) | Para versionamento e clonagem de projetos | git --version |
Passo a passo: instalar Node.js, npm e Ionic CLI
1) Instalar Node.js (com npm)
- Instale o Node.js na versão LTS pelo instalador do seu sistema operacional.
- Após instalar, feche e reabra o terminal para garantir que o PATH seja recarregado.
Valide:
node -v
npm -vSe esses comandos não funcionarem, o problema geralmente é PATH (veja o checklist de troubleshooting).
2) Instalar o Ionic CLI
Instale globalmente para poder usar o comando ionic em qualquer pasta:
- Ouça o áudio com a tela desligada
- Ganhe Certificado após a conclusão
- + de 5000 cursos para você explorar!
Baixar o aplicativo
npm install -g @ionic/cliValide:
ionic -v
ionic --help3) Criar um projeto de teste e rodar no navegador
Crie um app simples para validar o ambiente:
ionic start meuAppTeste tabs --type=angularEntre na pasta e execute:
cd meuAppTeste
ionic serveO comando ionic serve inicia um servidor de desenvolvimento e recompila automaticamente ao salvar arquivos.
4) Dependências essenciais (o que instalar e quando)
Em geral, ao criar um projeto com ionic start, as dependências do app já são definidas no package.json. Você instalará/atualizará dependências principalmente em três cenários: (1) ao clonar um repositório, (2) ao adicionar bibliotecas, (3) ao alinhar versões.
Ao clonar um projeto existente:
npm installPara checar se há problemas de dependências:
npm lsPara listar scripts disponíveis no projeto:
npm runComandos básicos para validar a instalação
node -venpm -v: confirmam runtime e gerenciador.ionic -v: confirma CLI instalada.ionic start ...: confirma criação de projeto.ionic serve: confirma build e servidor local.npm install: confirma instalação de dependências.
Diagnóstico rápido quando algo falha
Quando um comando falha, observe: (1) qual comando foi executado, (2) a primeira mensagem de erro relevante, (3) a versão do Node e do Ionic CLI, (4) se o erro é de permissão, PATH ou dependência.
Estrutura padrão de pastas de um projeto Ionic (visão prática)
A estrutura pode variar um pouco conforme o template e o framework (Angular/React/Vue), mas alguns itens são comuns. Abaixo está uma visão típica de um projeto Ionic com Angular, focando no que você mais vai usar no dia a dia.
| Pasta/Arquivo | Para que serve | Quando mexer |
|---|---|---|
src/ | Código-fonte do app (telas, componentes, estilos, assets) | Quase sempre |
src/app/ | Módulos/rotas/componentes principais do app | Ao criar páginas e lógica |
src/assets/ | Imagens, ícones, arquivos estáticos | Ao adicionar recursos visuais |
src/theme/ | Variáveis e customização de tema (ex.: cores) | Ao ajustar identidade visual |
src/environments/ | Configurações por ambiente (dev/prod) | Ao configurar URLs e chaves |
package.json | Dependências e scripts npm | Ao instalar libs/ajustar scripts |
tsconfig.json | Configuração do TypeScript (compilação, paths, strict) | Ao ajustar regras de TS |
ionic.config.json | Configuração do Ionic CLI para o projeto | Raramente |
angular.json (Angular) | Configuração do build/serve do Angular | Quando precisa customizar build |
Onde o TypeScript aparece no projeto
O TypeScript é usado principalmente nos arquivos .ts dentro de src/, por exemplo:
- Páginas e componentes: classes e lógica de UI (eventos, chamadas de serviço, estado).
- Serviços: acesso a APIs, regras de negócio, cache.
- Modelos/Interfaces: tipagem de dados (DTOs, entidades, respostas de API).
- Configurações: rotas, módulos e providers (dependendo do framework).
Exemplo simples de interface e uso (tipagem para dados de uma lista):
// src/app/models/tarefa.model.ts
export interface Tarefa {
id: string;
titulo: string;
concluida: boolean;
}
// src/app/home/home.page.ts
import { Component } from '@angular/core';
import { Tarefa } from '../models/tarefa.model';
@Component({
selector: 'app-home',
templateUrl: 'home.page.html'
})
export class HomePage {
tarefas: Tarefa[] = [
{ id: '1', titulo: 'Instalar Ionic CLI', concluida: true },
{ id: '2', titulo: 'Rodar ionic serve', concluida: false }
];
}O ganho aqui é imediato: autocompletar, validação em tempo de desenvolvimento e menos erros por tipos incorretos.
Checklist de troubleshooting (problemas comuns e correções)
1) Comando não encontrado (PATH)
- Sintoma:
node,npmouionicretornam “command not found”/“não é reconhecido”. - Causas comuns: instalação incompleta, terminal antigo aberto, PATH não atualizado.
- Ações: feche e reabra o terminal; reinstale o Node; verifique se o diretório de binários está no PATH; reinstale o Ionic CLI.
2) Erros de permissão ao instalar globalmente
- Sintoma: falha no
npm install -gcom mensagens de permissão. - Causas comuns: pasta global do npm protegida pelo sistema.
- Ações: prefira configurar um diretório global do npm no seu usuário (em vez de usar permissões elevadas). Alternativamente, use um gerenciador de versões do Node que isole instalações por usuário.
3) Versões incompatíveis (Node/Ionic/dependências)
- Sintoma: erros estranhos no build, falhas ao instalar pacotes, warnings de engine.
- Ações: alinhe o Node para uma versão LTS; apague
node_modulese o lockfile e reinstale dependências.
// dentro do projeto
rm -rf node_modules
rm -f package-lock.json
npm installEm Windows, você pode remover a pasta node_modules pelo Explorer ou usar comandos equivalentes no PowerShell.
4) Cache do npm causando instalação quebrada
- Sintoma: instalações falham de forma inconsistente.
- Ações: limpar cache e reinstalar.
npm cache verify
npm cache clean --force
npm install5) Porta ocupada no ionic serve
- Sintoma: servidor não sobe porque a porta já está em uso.
- Ações: subir em outra porta.
ionic serve --port 81016) Proxy/SSL em rede corporativa
- Sintoma:
npm installfalha com erros de certificado ou timeout. - Ações: configurar proxy do npm conforme política da rede; preferir redes sem inspeção SSL quando possível.
Recomendações práticas para organizar seu workspace
Padronize versões e scripts
- Fixe a versão do Node usada no projeto (documente em um arquivo
.nvmrcou equivalente). - Evite “funciona só na minha máquina”: registre no README as versões mínimas de Node/npm/Ionic CLI.
- Use scripts npm para tarefas comuns (serve, build, lint, test) e mantenha-os consistentes entre projetos.
Estrutura de pastas para múltiplos projetos
Uma organização simples e escalável no seu computador:
workspace/
ionic/
apps/
app1/
app2/
libs/
ui-components/
playground/
testes-rapidos/- apps/: projetos reais.
- libs/: bibliotecas compartilhadas (quando fizer sentido).
- playground/: experimentos descartáveis para testar plugins/ideias.
Boas práticas de dependências
- Evite instalar bibliotecas “por tentativa” no projeto principal; teste primeiro no
playground. - Ao atualizar dependências, faça em pequenos passos e rode
ionic servepara validar rapidamente. - Não edite arquivos dentro de
node_modules; qualquer ajuste deve ser feito via configuração, patch ou atualização de pacote.
Configurações úteis no TypeScript
Em projetos TypeScript, manter regras mais estritas ajuda a encontrar erros cedo. Se o projeto permitir, considere habilitar opções como strict gradualmente no tsconfig.json (quando a base de código estiver pronta para isso), corrigindo os avisos aos poucos.