Comandos del CLI
Puedes usar la Interfaz de Línea de Comandos (CLI) proporcionada por Astro para desarrollar, construir y previsualizar tu proyecto desde una ventana de la terminal.
Comandos astro
Sección titulada Comandos astroUsa el CLI ejecutando alguno de los comandos documentados en esta página con tu gestor de paquetes preferido, opcionalmente seguido por alguna flag. Las banderas personalizan el comportamiento de un comando.
Uno de los comandos que usarás con mayor frecuencia es astro dev
. Este comando inicia el servidor de desarrollo y te da una vista previa en vivo y actualizada de tu sitio en un navegador mientras trabajas:
Puedes escribir astro --help
en tu terminal para mostrar una lista de todos los comandos disponibles:
El siguiente mensaje se mostrará en tu terminal:
El doble guion --
adicional antes de cualquier bandera es necesario para que npm
pase tus banderas al comando astro
.
Scripts package.json
Sección titulada Scripts package.jsonTambién puedes usar scripts en el package.json
para versiones más cortas de estos comandos. Usar un script te permite usar los mismos comandos que podrías estar familiarizado de otros proyectos, como npm run build
.
El siguiente script para los comandos más comunes de astro
(astro dev
, astro build
y astro preview
) se agrega automáticamente cuando creas un proyecto usando el asistente create astro
.
Cuando sigues las instrucciones para instalar Astro manualmente, se te indica que agregues estos scripts tú mismo. También puedes agregar más scripts a esta lista manualmente para cualquier comando que uses con frecuencia.
Seguido usarás estos comandos astro
o los scripts que los ejecutan, sin ninguna flag. Agrega las banderas al comando cuando quieras personalizar el comportamiento del comando. Por ejemplo, es posible que desees iniciar el servidor de desarrollo en un puerto diferente, o construir tu sitio
con registros detallados para la depuración.
astro dev
Sección titulada astro devCorre el servidor de desarrollo de Astro. Es un servidor HTTP local que no empaqueta recursos. Usa Hot Module Replacement (HMR) para actualizar tu navegador a medida que guardas los cambios en tu editor.
astro build
Sección titulada astro buildConstruye tu proyecto para producción. Por defecto, Astro generará archivos estáticos y los colocará en el directorio dist/
. Si SSR está habilitado, Astro generará los archivos necesarios para que el servidor renderice tu proyecto.
Se puede combinar con la bandera común documentada a continuación.
astro preview
Sección titulada astro previewInicia un servidor local para servir el contenido de su directorio estático (dist/
por defecto) creado al ejecutar astro build
.
Este comando es útil para obtener una vista previa de tu proyecto usando los archivos generados en la compilación final, antes de ser desplegado. Este comando no está diseñado para ejecutarse en producción. Para obtener ayuda con el despliegue a producción, consulta nuestra guía de despliegue de un sitio web de Astro.
Desde Astro 1.5.0, astro preview
también funciona para compilaciones con SSR si usas un adaptador que lo soporte. Actualmente, solo el adaptador de Node soporta astro preview
.
Puede combinarse con las banderas comunes documentadas más abajo.
astro check
Sección titulada astro checkEjecuta diagnósticos (como verificación de tipos dentro de archivos .astro
) en tu proyecto y reporta errores en la consola. Si se encuentran errores, el proceso finalizará con el código 1.
Este comando está diseñado para usarse en workflows de CI.
Flags
Utilice estas flags para personalizar el comportamiento del comando.
--watch
Sección titulada --watchEl comando observará cualquier cambio en su proyecto e informará cualquier error.
astro sync
Sección titulada astro sync
Agregado en:
astro@2.0.0
Ejecutar astro dev
o astro build
ejecutará el comando sync
también.
Genera tipos de TypeScript para todos los módulos de Astro. Esto establece un archivo src/env.d.ts
para inferencia de tipos y define los módulos para características que dependen de tipos generados:
- El módulo
astro:content
para la API de Colecciones de Contenido. - El módulo
astro:db
para Astro DB.
astro add
Sección titulada astro addAgrega una integración a tu configuración. Lee más en la guía de integraciones.
astro docs
Sección titulada astro docsInicia el sitio web de la documentación de Astro directamente desde la terminal.
astro info
Sección titulada astro infoProporciona información útil sobre tu entorno de Astro actual. Útil para proporcionar información al abrir un issue.
Ejemplo de salida:
astro preferences
Sección titulada astro preferencesGestiona las preferencias de usuario con el comando astro preferences
. Las preferencias de usuario son específicas para los usuarios individuales de Astro, a diferencia del archivo astro.config.mjs
que cambia el comportamiento de todos los que trabajan en un proyecto.
Por defecto, las preferencias del usuario se limitan al proyecto actual y se almacenan en un archivo local .astro/settings.json
.
Usando el indicador --global
, las preferencias del usuario también se pueden aplicar a cada proyecto de Astro en la máquina actual. Las preferencias globales del usuario se almacenan en una ubicación específica del sistema operativo.
Por ejemplo, para desactivar la devToolbar en un proyecto Astro específico:
Para desactivar la devToolbar en todos los proyectos Astro en la máquina actual:
La devToolbar se puede activar más tarde con:
El comando reset
restablece una preferencia a su valor por defecto:
El comando list
imprime la configuración actual de todas las preferencias de usuario configurables. También admite una salida --json
legible por máquina.
astro telemetry
Sección titulada astro telemetryEstablece la configuración de telemetría para el usuario de la CLI actual. La telemetría son datos anónimos que proporcionan información al equipo de Astro sobre qué características de Astro se utilizan con más frecuencia. Para obtener más información, consulta la página de telemetría de Astro.
La telemetría se puede desactivar con este comando:
La telemetría se puede volver a habilitar con:
El comando reset
restablece los datos de telemetría:
Asegúrate de agregar el comando astro telemetry disabled
a tus scripts de CI o establezca la variable de entorno ASTRO_TELEMETRY_DISABLED
.
Banderas Comunes
Sección titulada Banderas Comunes--root path
Sección titulada --root pathEspecifica la ruta a la raíz del proyecto. Si no se especifica, se asume que la carpeta de trabajo actual es la raíz.
La raíz se utiliza para encontrar el archivo de configuración de Astro.
--config <path>
Sección titulada --config <path>Especifica la ruta relativa al archivo de configuración desde la raíz del directorio. El valor predeterminado es astro.config.mjs
. Usa esta opción si usas un nombre diferente en el archivo de configuración o si tienes tu archivo de configuración en otra carpeta.
--outDir <path>
Sección titulada --outDir <path>
Agregado en:
astro@3.3.0
Configura el outDir
para tu proyecto. Pasar esta bandera anulará el valor de outDir
en tu archivo astro.config.mjs
, si existe.
--site <url>
Sección titulada --site <url>Configura el valor de site
para tu proyecto. Usando este flag sobreescribirá el valor actual de site
en tu archivo astro.config.mjs
, si es que existe.
--base <pathname>
Sección titulada --base <pathname>
Agregado en:
astro@1.4.1
Configura el valor de base
para tu proyecto. Usando este flag sobreescribirá el valor actual de base
en tu archivo astro.config.mjs
, si es que existe.
--port <number>
Sección titulada --port <number>Especifica en qué puerto se ejecuta el servidor. El valor predeterminado es 4321
.
--host [dirección de host opcional]
Sección titulada --host [dirección de host opcional]Establece qué direcciones IP de red debe escuchar el servidor de desarrollo (es decir, direcciones IP que no son de localhost). Esto puede ser útil para probar tu proyecto en dispositivos locales tales como un teléfono durante el desarrollo.
--host
- escucha todas las direcciones, incluidas LAN y direcciones públicas--host <dirección-personalizada>
- expone la dirección IP especificada en<dirección-personalizada>
No uses la flag --host
para exponer el servidor de desarrollo en un entorno de producción. El servidor de desarrollo está diseñado únicamente para uso local mientras desarrollas tu proyecto.
--verbose
Sección titulada --verboseHabilita el registro detallado, que es útil al debuggear un problema.
--silent
Sección titulada --silentHabilita el registro silencioso, que correrá el servidor sin ninguna salida en la consola.
Banderas Globales
Sección titulada Banderas GlobalesUsa estas banderas para obtener información sobre la CLI de astro
.
--version
Sección titulada --versionImprime el número de versión de Astro y finaliza el proceso.
--open
Sección titulada --openAbre automáticamente la aplicación en el navegador al iniciar el servidor. Se le puede pasar un string de URL completo (p. ej. --open http://example.com
) o una ruta (p. ej. --open /about
) para especificar la URL a abrir.
--help
Sección titulada --helpImprime un mensaje de ayuda.
APIs avanzadas (Experimental)
Sección titulada APIs avanzadas (Experimental)Si necesitas más control al ejecutar Astro, el paquete "astro"
también exporta APIs para ejecutar los comandos de la CLI de manera programática.
Estas APIs son experimentales y su firma de API puede cambiar. Cualquier actualización se mencionará en el registro de cambios de Astro y la información a continuación siempre mostrará la información actual y actualizada.
AstroInlineConfig
Sección titulada AstroInlineConfigEl tipo AstroInlineConfig
es utilizado por todas las APIs de comandos que se detallan a continuación. Este extiende de la configuración de Astro del usuario:
configFile
Sección titulada configFileTipo: string | false
Por defecto: undefined
Una ruta personalizada al archivo de configuración de Astro.
Si este valor es undefined
(predeterminado) o no se establece, Astro buscará un archivo astro.config.(js,mjs,ts)
en relación con la root
y cargará el archivo de configuración si se encuentra.
Si se establece una ruta relativa, se resolverá en función del directorio de trabajo actual.
Establece a false
para deshabilitar la carga de cualquier archivo de configuración.
La configuración en línea proporcionada en este objeto tendrá la mayor prioridad al fusionarse con la configuración de usuario cargada.
Tipo: "development" | "production"
Por defecto: "development"
cuando se ejecuta astro dev
, "production"
cuando se ejecuta astro build
El modo utilizado al compilar tu sitio para generar código “development” o “production”.
logLevel
Sección titulada logLevelTipo: "debug" | "info" | "warn" | "error" | "silent"
Por defecto: "info"
El nivel de registro para filtrar los mensajes registrados por Astro.
"debug"
: Registrar todo, incluyendo diagnósticos ruidosos de depuración."info"
: Registrar mensajes informativos, advertencias y errores."warn"
: Registrar advertencias y errores."error"
: Registrar solo errores."silent"
: Sin registros.
Tipo: (inlineConfig: AstroInlineConfig) => AstroDevServer
Similar a astro dev
, ejecuta el servidor de desarrollo de Astro.
build()
Sección titulada build()Tipo: (inlineConfig: AstroInlineConfig) => void
Similar a astro build
, compila tu sitio para el despliegue.
preview()
Sección titulada preview()Tipo: (inlineConfig: AstroInlineConfig) => AstroPreviewServer
Similar a astro preview
, inicia un servidor local para servir el directorio estático dist/
.
sync()
Sección titulada sync()Tipo: (inlineConfig: AstroInlineConfig) => number
Similar a astro sync
, genera tipos de TypeScript para todos los módulos de Astro.
CLI de Astro Studio
Sección titulada CLI de Astro Studioastro login
Sección titulada astro loginAutenticarse con Astro Studio. Esto es necesario para ejecutar todos los comandos de gestión de bases de datos, incluido astro link
.
astro link
Sección titulada astro linkEnlaza tu base de datos alojada en Studio. Esto es necesario para ejecutar comandos de Astro DB para la gestión de bases de datos. Para enlazar una base de datos, se te pedirá que selecciones una base de datos existente o que crees una nueva.
astro logout
Sección titulada astro logoutCierra la sesión de Astro Studio y elimina cualquier clave de autenticación almacenada localmente.
Reference