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.
Banderas
Usa estas banderas para personalizar el comportamiento del servidor de desarrollo de Astro. Para banderas compartidas con otros comandos de Astro, puedes ver banderas comunes más abajo.
--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.
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 tus archivos estáticos compilados en dist/
.
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.
Este comando solo verifica los tipos dentro de los archivos .astro
.
📚 Lee más sobre la compatibilidad con TypeScript en Astro.
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 el módulo astro:content
para la API de colecciones de contenido.
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 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 clear
restablece los datos de telemetría:
Asegúrate de agregar el comando astro telemetry disabled
a tus scripts de CI.
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.
--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.
--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.