Pular para o conteúdo

Comandos da Interface de Linha de Comando

Você pode utilizar a Interface de Linha de Comando (CLI) providenciada pelo Astro para desenvolver, fazer build e pré-visualizar seu projeto a partir de uma janela de terminal.

Use a CLI ao executar um dos comandos documentados nessa página com seu gerenciador de pacotes preferido, opcionalmente seguido de algumas flags. Flags customizam o comportamento de um comando.

Um dos comandos que você vai usar com mais frequência é astro dev. Esse comando inicia o servidor de desenvolvimento e dá a você uma pré-visualização ao vivo e atualizada do seu site em um navegador conforme você trabalha:

Terminal window
# inicia o servidor de desenvolvimento
npx astro dev

Você pode digitar astro --help no seu terminal para exibir uma lista de todos os comandos disponíveis:

Terminal window
npx astro --help

A seguinte mensagem vai aparecer no seu terminal:

Terminal window
astro [comando] [...flags]
Comandos
add Adiciona uma integração.
build Faz build do seu projeto e escreve ele no disco.
check Checa seu projeto por erros.
dev Inicia o servidor de desenvolvimento.
docs Abre a documentação no seu navegador da web.
info Lista de informações sobre sua configuração atual do Astro.
preview Pré-visualiza sua build localmente.
sync Gera tipos de coleção de conteúdo.
telemetry Configura opções de telemetria.
Flags Globais
--config <caminho> Especifica seu arquivo de configuração.
--root <caminho> Especifica a pasta raiz do seu projeto.
--site <url> Especifica o site do seu projeto.
--base <nome-do-caminho> Especifica a base do seu projeto.
--verbose Habilita o registro detalhado.
--silent Desabilita todos registros.
--version Mostra o número da versão e sai.
--open Abre o aplicativo no navegador quando o servidor iniciar.
--help Mostra essa mensagem de ajuda.

Você também pode usar scripts no package.json para versões mais curtas desses comandos. Usando um script permite você usar os mesmos comandos que você pode estar familiarizado com outros projetos, como o npm run build.

Os seguintes scripts para os comandos astro comuns (astro dev, astro build e astro preview) são adicionados pra você automaticamente quando você cria um projeto usando o assistente create astro.

Quando você segue as instruções para instalar o Astro manualmente, você é instruído a adicionar esses scripts você mesmo. Você também pode adicionar mais scripts para essa lista manualmente para qualquer comando que você usa frequentemente.

package.json
{
"scripts": {
"dev": "astro dev",
"start": "astro dev",
"build": "astro build",
"preview": "astro preview"
}
}

Você vai frequentemente usar esses comandos astro ou scripts que executam eles, sem nenhuma flag. Adicione flags para o comando quando você quer customizar o comportamento do comando. Por exemplo, você pode querer iniciar o servidor de desenvolvimento em uma porta diferente ou fazer a build do seu site com registros verbosos para depuração.

Terminal window
# executa o servidor de desenvolvimento na porta 8080 usando o script `start` no `package.json`
npm run start -- --port 8080
# faz build do seu site com registros verbosos usando o script `build` script no `package.json`
npm run build -- --verbose

(O -- a mais antes da flag --port é necessário para o npm passar suas flags para o comando astro.)

Executa o servidor de desenvolvimento do Astro. Ele é um servidor HTTP local que não faz bundle de assets. Ele utiliza Hot Module Replacement (HMR) para atualizar seu navegador assim que você salva mudanças no seu editor.

Flags

Utilize essas flags para customizar o comportamento do servidor de desenvolvimento do Astro. Para flags compartilhadas com outros comandos Astro, veja flags comuns abaixo.

Especifica em qual porta executar. Por padrão, 4321.

Define em que endereços de IP o servidor de desenvolvimento deve ser escutado em (ou seja, IPs que não sejam localhost). Isso pode ser útil para testar o seu projeto em dispositivos locais como um celular durante o desenvolvimento.

  • --host - escuta em todos os endereços, incluindo endereços LAN e públicos.
  • --host [endereço-customizado] - é exposto em um endereço de IP em [endereço-customizado]

Faz a build do seu site para deploy. Por padrão, este comando irá gerar arquivos estáticos que serão colocados no diretório dist/. Se SSR estiver habilitado, o comando irá gerar os arquivos de servidor necessários para servir o seu website.

Flags

Utilize essas flags para customizar sua build. Para flags compartilhadas com outros comandos Astro, veja flags comuns abaixo.

Inicia um servidor local para servir seu diretório dist/ estático.

Este comando é útil para pré-visualizar sua build localmente antes de fazer o deploy. Ele não é feito para ser executado em produção. Para ajuda com hospedagem para produção, veja nosso guia em como Fazer Deploy de um Website Astro.

Desde o Astro 1.5.0, astro preview também funciona para builds SSR se você utiliza um adaptador que o suporta. Atualmente, apenas o adaptador para Node suporta astro preview.

Pode ser combinado com as flags comuns documentadas abaixo.

Roda diagnósticos (como checar a tipagem de arquivos .astro) em seu projeto e reporta erros no console. Se algum error for encontrado durante o processo, ele será finalizado com o código 1.

Esse comando foi feito para ser usado em fluxos de trabalho de CI.

Flags

Use estas flags para customizar o comportamento do comando.

O comando vai observar qualquer mudança nos arquivos .astro, e vai reportar qualquer erro.

📚 Leia mais sobre o suporte para TypeScript no Astro.

Adicionado em: astro@2.0.0

Gera tipos do TypeScript para todos os módulos do Astro. Ele configura um arquivo src/env.d.ts para inferência de tipos e define o módulo astro:content para a API de Coleções de Conteúdo.

Adiciona uma integração a sua configuração. Leia mais no guia de integrações.

Abre o website da documentação do Astro diretamente do seu terminal.

Reporta informações úteis sobre seu ambiente do Astro atual. Útil para fornecer informações ao abrir uma issue.

Terminal window
astro info

Exemplo de saída:

Versão do Astro v2.6.6
Gerenciador de pacotes pnpm
Plataforma darwin
Arquitetura arm64
Adaptador @astrojs/vercel/serverless
Integrações Nenhum ou não foi possível determinar.

Define a configuração de telemetria para o usuário da CLI atual. Telemetria são dados anônimos que providenciam informações ao time do Astro sobre quais funcionalidades do Astro são mais utilizadas.

Telemetria pode ser desabilitada com o esse comando de linha de comando: a

Terminal window
astro telemetry disable

Telemetria pode ser posteriormente habilitada com:

Terminal window
astro telemetry enable

O comando clear reseta os dados de telemetria:

Terminal window
astro telemetry clear

Especifica o caminho para a raiz do projeto. Se não for especificado, o diretório de trabalho atual é assumido como a raiz.

A raiz é utilizada para encontrar o arquivo de configuração Astro.

Terminal window
astro --root minhaPastaRaiz/minhaPastaDoProjeto dev

Especifica o caminho para o arquivo de configuração relativo a raiz do projeto. Por padrão, astro.config.mjs. Use isso se você utiliza um nome diferente para o seu arquivo de configuração ou se você tem seu arquivo de configuração em outra pasta.

Terminal window
astro --config config/astro.config.mjs dev

Configura a opção site para seu projeto. Passar essa flag irá sobrescrever o valor de site no seu arquivo astro.config.mjs, se um existir.

Adicionado em: astro@1.4.1

Configura a opção base para seu projeto. Passar essa flag irá sobrescrever o valor de base no seu arquivo astro.config.mjs, se um existir.

Habilita logging verboso, que é útil para depurar um problema.

Habilita logging silencioso, que irá executar o servidor sem nada ser jogado ao terminal.

Utilize essas flags para conseguir informação sobre a CLI astro.

Mostra o número de versão do Astro.

Automaticamente abre o aplicativo no navegador quando o servidor iniciar.

Mostra a mensagem de ajuda e sai.

Se você precisa de mais controle ao executar Astro, o pacote "astro" também exporta APIs para programaticamente executar os comandos da CLI.

Essas APIs são experimentais e a assinatura de suas APIs podem mudar. Quaisquer atualizações serão mencionadas no registro de mudanças do Astro e a informação abaixo irá sempre mostrar a informação atual e atualizada.

O tipo AstroInlineConfig é usado para todas as APIs de comandos abaixo. Ela se estende do tipo da configuração do Astro do usuário:

interface AstroInlineConfig extends AstroUserConfig {
configFile?: string | false;
mode?: "development" | "production";
logLevel?: "debug" | "info" | "warn" | "error" | "silent";
}

Tipo: string | false
Padrão: undefined

Um caminho customizado para o arquivo de configuração do Astro.

Se esse valor é undefined (padrão) ou ausente, Astro irá procurar por um arquivo astro.config.(js,mjs,ts)relativo ao root e irá carregar o arquivo de configuração, se encontrado.

Se um caminho relativo é definido, ele será resolvido com base no diretório de trabalho atual.

Defina para false para desabilitar o carregamento de quaisquer arquivos de configuração.

A configuração inline passada nesse objeto irá tomar a maior prioridade ao ser combinada com a configuração do usuário carregada.

Tipo: "development" | "production"
Padrão: "development" quando executar astro dev, "production" quando executar astro build

O modo utilizado ao fazer build do seu site para gerar um código de “desenvolvimento” ou “produção”.

Tipo: "debug" | "info" | "warn" | "error" | "silent"
Padrão: "info"

O nível de registro para filtrar mensagens registradas pelo Astro.

  • "debug": Registre tudo, incluindo diagnósticos barulhentos de depuração.
  • "info": Registre mensagens informacionais, avisos e erros.
  • "warn": Registre avisos e erros.
  • "error": Registre apenas erros.
  • "silent": Sem registros.

Tipo: (inlineConfig: AstroInlineConfig) => AstroDevServer

Similar ao astro dev, ele executa o servidor de desenvolvimento do Astro.

import { dev } from "astro";
const servidorDev = await dev({
root: "./meu-projeto",
});
// Stop the server if needed
await servidorDev.stop();

Tipo: (inlineConfig: AstroInlineConfig) => void

Similar ao astro build, ele faz build do seu site para deploy.

import { build } from "astro";
await build({
root: "./meu-projeto",
});

Tipo: (inlineConfig: AstroInlineConfig) => AstroPreviewServer

Similar ao astro preview, ele inicia um servidor local para servir seu diretório dist/ estático.

import { preview } from "astro";
const servidorPreview = await preview({
root: "./meu-projeto",
});
// Pare o servidor se necessário
await servidorPreview.stop();

Tipo: (inlineConfig: AstroInlineConfig) => number

Similar ao astro sync, ele gera tipos do TypeScript para todos os módulos do Astro

import { sync } from "astro";
const codigoSaida = await sync({
root: "./meu-projeto",
});
process.exit(codigoSaida)