Para instalar la última versión de Astro:
npm create astro@latest -- --template portfolio project-name
Crear tu primer proyecto en Astro es más sencillo de lo que parece cuando entiendes la estructura base que este framework propone. Aquí descubrirás cómo preparar tu entorno, qué carpetas componen un proyecto y cómo levantar tu portafolio en pocos minutos.
¿Qué necesitas para empezar a trabajar con Astro?
Antes de escribir una sola línea de código, conviene tener listas las herramientas mínimas que te darán fluidez durante todo el desarrollo.
Con estas tres piezas en su lugar, ya puedes ejecutar el cliente de línea de comandos que Astro ofrece para generar un proyecto totalmente configurado, sin tener que crear desde cero la carpeta, inicializar Git ni montar dependencias manualmente [01:38].
¿Cómo está organizada la estructura de un proyecto en Astro?
La estructura que entrega Astro es predecible y modular. En la raíz encontrarás archivos de configuración fundamentales que definen cómo se ejecuta, compila y despliega tu sitio.
Dos carpetas aparecen en tono distinto porque están siendo ignoradas: .astro y node_modules. Esto sucede porque están listadas en el archivo .gitignore y no deben enviarse al repositorio [02:50].
¿Por qué node_modules no se sube al repositorio? Porque contiene todas las dependencias instaladas y se regenera con npm install. Subirla haría tu repositorio innecesariamente pesado.
¿Para qué sirve la carpeta public?
La carpeta public aloja archivos que se copian directamente a la carpeta de distribución cuando preparas tu proyecto para producción. Aquí viven imágenes, el archivo robots.txt y el sitemap en XML, fundamentales para cumplir con buenas prácticas de SEO y exponer el índice completo de páginas de tu aplicación [04:20].
Cuando alguien escriba tusitio.com/robots.txt, accederá a esos archivos porque son completamente públicos.
¿Qué contiene la carpeta src en Astro?
La carpeta src es donde vive todo el código fuente. Allí crearás componentes, layouts, páginas y estilos, separando cada elemento por su responsabilidad [05:10].
También verás carpetas con punto al inicio, como .vscode o .astro. En sistemas GNU/Linux ese punto indica archivos ocultos. La carpeta .vscode, por ejemplo, guarda configuraciones del editor que puedes compartir con tu equipo, incluyendo plugins recomendados que se sugerirán a quien abra el proyecto por primera vez [05:45].
¿Cómo se modulariza el código fuente dentro de src?
El desarrollo web moderno apuesta por dividir responsabilidades. Astro abraza esa filosofía y te da carpetas específicas para cada pieza.
Esta separación te permite que cada archivo cumpla una sola tarea. Sí, podrías hacer todo con HTML y CSS planos, pero perderías el performance, el empaquetado óptimo y la escalabilidad que aporta un framework como Astro [08:30].
¿Qué diferencia hay entre layouts y pages? Los layouts son plantillas reutilizables que definen estructura común. Las pages son las rutas reales del sitio y pueden usar uno o varios layouts.
¿Cómo crear tu primer proyecto Astro desde la terminal?
Abre tu terminal y ejecuta el comando que inicializa el scaffolding completo:
bash npm create astro@2.0.2 -- --template portfolio gnx.me
Este comando descarga el paquete create-astro en su versión 2.0.2, aplica el template portfolio y crea una carpeta llamada gnx.me. La nomenclatura de versiones sigue el estándar SemVer, que organiza los cambios en major, minor y patch para reflejar mejoras y correcciones [11:50].
Durante el proceso, el asistente te hará varias preguntas clave:
Una vez terminada la instalación, entra a la carpeta con cd gnx.me y abre el editor con code . para visualizar todo el árbol del proyecto [14:20].
¿Qué scripts trae el package.json y cómo levantar el servidor local?
Dentro de package.json encontrarás los comandos que usarás todos los días:
Los dos que más usarás son dev para desarrollar y build para preparar producción. La versión instalada es Astro 2.0.7 [15:40].
Para ver tu sitio, ejecuta:
bash npm run dev
El entorno se inicializa en cuestión de milisegundos y expone tu proyecto en localhost:3000. Abre esa ruta en tu navegador y verás la plantilla del portafolio lista para personalizar [16:30].
Este será tu reto al cerrar el curso: regresar a esta base, adaptarla con todo lo aprendido y publicar un portafolio que te abra puertas en el ecosistema del desarrollo. ¿Qué nombre le pondrás a tu carpeta de proyecto? Cuéntalo en los comentarios.
Crear tu primer proyecto en Astro es más sencillo de lo que parece cuando entiendes la estructura base que este framework propone. Aquí descubrirás cómo preparar tu entorno, qué carpetas componen un proyecto y cómo levantar tu portafolio en pocos minutos.
Antes de escribir una sola línea de código, conviene tener listas las herramientas mínimas que te darán fluidez durante todo el desarrollo.
Con estas tres piezas en su lugar, ya puedes ejecutar el cliente de línea de comandos que Astro ofrece para generar un proyecto totalmente configurado, sin tener que crear desde cero la carpeta, inicializar Git ni montar dependencias manualmente [01:38].
La estructura que entrega Astro es predecible y modular. En la raíz encontrarás archivos de configuración fundamentales que definen cómo se ejecuta, compila y despliega tu sitio.
Dos carpetas aparecen en tono distinto porque están siendo ignoradas: .astro y node_modules. Esto sucede porque están listadas en el archivo .gitignore y no deben enviarse al repositorio [02:50].
¿Por qué node_modules no se sube al repositorio? Porque contiene todas las dependencias instaladas y se regenera con npm install. Subirla haría tu repositorio innecesariamente pesado.
La carpeta public aloja archivos que se copian directamente a la carpeta de distribución cuando preparas tu proyecto para producción. Aquí viven imágenes, el archivo robots.txt y el sitemap en XML, fundamentales para cumplir con buenas prácticas de SEO y exponer el índice completo de páginas de tu aplicación [04:20].
Cuando alguien escriba tusitio.com/robots.txt, accederá a esos archivos porque son completamente públicos.
La carpeta src es donde vive todo el código fuente. Allí crearás componentes, layouts, páginas y estilos, separando cada elemento por su responsabilidad [05:10].
También verás carpetas con punto al inicio, como .vscode o .astro. En sistemas GNU/Linux ese punto indica archivos ocultos. La carpeta .vscode, por ejemplo, guarda configuraciones del editor que puedes compartir con tu equipo, incluyendo plugins recomendados que se sugerirán a quien abra el proyecto por primera vez [05:45].
El desarrollo web moderno apuesta por dividir responsabilidades. Astro abraza esa filosofía y te da carpetas específicas para cada pieza.
Esta separación te permite que cada archivo cumpla una sola tarea. Sí, podrías hacer todo con HTML y CSS planos, pero perderías el performance, el empaquetado óptimo y la escalabilidad que aporta un framework como Astro [08:30].
¿Qué diferencia hay entre layouts y pages? Los layouts son plantillas reutilizables que definen estructura común. Las pages son las rutas reales del sitio y pueden usar uno o varios layouts.
Abre tu terminal y ejecuta el comando que inicializa el scaffolding completo:
bash npm create astro@2.0.2 -- --template portfolio gnx.me
Este comando descarga el paquete create-astro en su versión 2.0.2, aplica el template portfolio y crea una carpeta llamada gnx.me. La nomenclatura de versiones sigue el estándar SemVer, que organiza los cambios en major, minor y patch para reflejar mejoras y correcciones [11:50].
Durante el proceso, el asistente te hará varias preguntas clave:
Una vez terminada la instalación, entra a la carpeta con cd gnx.me y abre el editor con code . para visualizar todo el árbol del proyecto [14:20].
Dentro de package.json encontrarás los comandos que usarás todos los días:
Los dos que más usarás son dev para desarrollar y build para preparar producción. La versión instalada es Astro 2.0.7 [15:40].
Para ver tu sitio, ejecuta:
bash npm run dev
El entorno se inicializa en cuestión de milisegundos y expone tu proyecto en localhost:3000. Abre esa ruta en tu navegador y verás la plantilla del portafolio lista para personalizar [16:30].
Este será tu reto al cerrar el curso: regresar a esta base, adaptarla con todo lo aprendido y publicar un portafolio que te abra puertas en el ecosistema del desarrollo. ¿Qué nombre le pondrás a tu carpeta de proyecto? Cuéntalo en los comentarios.
Para instalar la última versión de Astro:
npm create astro@latest -- --template portfolio project-name
Cuando desarrollamos un proyecto desde zero, podemos generar mediante create astro una configuración inicial. Dicha configuración mediante este asistente de creación incluirá archivos iniciales y carpetas según su deseo final (plantilla o por default).
.
En alto nivel, Astro no otorga una estructura de carpetas muy similar a otros Frameworks de Frontend donde, para cada raíz, nos abstrae un espacio de trabajo con un significado particular: .
src/* directorio principal de trabajo donde podremos trabajar:
.
src/components sub-directorio de elementos reutilizables organizados y agrupados para la semántica de nuestro proyecto
.src/layouts sub-directorio de estructuras iniciales para jerarquizar contenido o páginas de nuestro proyecto
.src/pages sub-directorio de vistas visibles para nuestros usuarios
.src/styles sub-directorios de estilos globales de nuestro proyecto
.public/* directorio de estáticos de acceso público (iconos, fuentes, metadata, etc.).
.package.json definición del proyecto en Node
.astro.config.mjs archivo de configuración de Astro
.tsconfig.json archivo de configuración de TypeScript. !Image
Como se mencionó en la introducción, podemos generar nuestro proyecto de Astro vía :
create astropnpm create astro@latest
Dejando a la elección la selección inicial de una plantilla:
pnpm create astro@latest --template <example-name>
pnpm create astro@latest --template <github-username>/<github-repo>
📌 Referencia Podemos visualizar nuestras plantillas de la comunidad de Astro o buscarla mediante el repositorio del autor. Themes | Astro
Para aquellos que tengan un problema de postcss al correr npm run dev, es por un problema con Tailwindcss... lo pueden solucionar agregando
npx astro add tailwind
Command
$ npm create astro@2.0.2 -- --template portfolio projectName
Si vale la pena hacer este curso? veo que no lo actualizan desde hace 2 años, eso deja mucho que pensar de Platzi
Una forma fácil de abrir la consola en la carpeta donde se quiera trabajar es en la barra de dirección, se borra todo y se escribe cmd, y enter. esto abrirla la consola en esa carpeta.
y ya desde ahi es facil correr el proyecto de astro (toca tener instalado previamente node para que funcione).
Definitivamente, no me es posible aprender con este profe. Me retiro del curso.
Si entras en desesperación, en la espera de la versión de Astro 2.0.2 como me paso, solo intenta el comando aportado por el compañero Ameth, para instalar la última versión de Astro.
npm create astro@latest -- --template portfolio project-name
La personalización de desarrollo es clave y posible con los editores e IDEs modernos de trabajo. Cuando iniciamos con algún lenguaje o herramienta tipo Framework, buscamos generar un ecosistemas de extensiones que permiten optimizar y armonizar nuestro desarrollo. . En VSCode, es un popular editor de código que ha ido agarrando cariño como herramienta clave. Con Astro, podemos personalizar VSCode via su plugin para obtener beneficios como: .
.astro , permitiéndonos visualizar de mejor manera el código por alguna definición mal formada, identación o segmentación de código.
..
📌 Referencia Astro | VSCode Extension
. Así mismo, es posible encontrar extensiones y plugins para otro tipo de editores e IDEs, como JetBrains, según sea la comunidad o la demanda. Siendo esté último accesible vía el IDE en modo Early Access. .
Adicionalmente, podemos emplear revisores o formateadores de código, para evaluar las reglas de código y de aplicación de estilos, respectivamente mediante ESLint y Prettier. . Por ejemplo, para Prettier podemos instalar su dependencia y plugin:
pnpm install -D prettier prettier-plugin-astro
Para después, vincularlo como script en package.json con el binario prettier --write .
hola, ya instale wsl pero al intentar instalar astro:
npm create astro@latest -- --template portfolio proyect1
Command 'npm' not found, but can be installed with: sudo apt install npm
saludos
Para instalar la última versión de Astro:
npm create astro@latest -- --template portfolio project-name
Hola, Ameth 👋
.
El comando npm create no instala como tal. Dicho comando inicializa un proyecto de Node con el binario citado, en este caso astro.
.
A diferencia de hacerlo de manera manual, como si fuera con npm install (instalación), donde llevas una personalización de configuración.
Hola @reremDev.
El comando npm create se encarga de ejecutar un paquete preconfigurado con Node, lo que incluye que por background ejecuta la instalación de los paquetes con npm install. Por lo tanto, si se puede decir que al final npm create si hace la instalación de Astro.
Estructura en Astro
Cuando desarrollamos un proyecto desde zero, podemos generar mediante create astro una configuración inicial. Dicha configuración mediante este asistente de creación incluirá archivos iniciales y carpetas según su deseo final (plantilla o por default).
.
Directorios y archivos
En alto nivel, Astro no otorga una estructura de carpetas muy similar a otros Frameworks de Frontend donde, para cada raíz, nos abstrae un espacio de trabajo con un significado particular: .
src/* directorio principal de trabajo donde podremos trabajar:
.
src/components sub-directorio de elementos reutilizables organizados y agrupados para la semántica de nuestro proyecto
.src/layouts sub-directorio de estructuras iniciales para jerarquizar contenido o páginas de nuestro proyecto
.src/pages sub-directorio de vistas visibles para nuestros usuarios
.src/styles sub-directorios de estilos globales de nuestro proyecto
.public/* directorio de estáticos de acceso público (iconos, fuentes, metadata, etc.).
.package.json definición del proyecto en Node
.astro.config.mjs archivo de configuración de Astro
.tsconfig.json archivo de configuración de TypeScript. !Image
Instalación y lanzamiento de Astro
Como se mencionó en la introducción, podemos generar nuestro proyecto de Astro vía create astro :
pnpm create astro@latest
Dejando a la elección la selección inicial de una plantilla:
pnpm create astro@latest --template <example-name> pnpm create astro@latest --template <github-username>/<github-repo>
📌 Referencia Podemos visualizar nuestras plantillas de la comunidad de Astro o buscarla mediante el repositorio del autor. Themes | Astro
Para aquellos que tengan un problema de postcss al correr npm run dev, es por un problema con Tailwindcss... lo pueden solucionar agregando
npx astro add tailwind
Parcero eres el mejor jajaja , gracias.
Hola amigo una pregunta soy nuevo en la app y no se en donde poner el comando
Command
$ npm create astro@2.0.2 -- --template portfolio projectName
Este comando instala una versión específica de Astro(casi no se utiliza). Es recomendable el comando que proporciono el otro compañero.
Hola 👋
.
Sebastian, npm create no instala como tal. Dicho comando inicializa un proyecto de Node con el binario citado, en este caso astro.
.
El "casi no se utiliza" es cierto para el principiante por seguir un "Quick Start". El caso se emplea cuando tu entorno de Node, soporta hasta cierta versión.
Si vale la pena hacer este curso? veo que no lo actualizan desde hace 2 años, eso deja mucho que pensar de Platzi
Una forma fácil de abrir la consola en la carpeta donde se quiera trabajar es en la barra de dirección, se borra todo y se escribe cmd, y enter. esto abrirla la consola en esa carpeta.
y ya desde ahi es facil correr el proyecto de astro (toca tener instalado previamente node para que funcione).
Definitivamente, no me es posible aprender con este profe. Me retiro del curso.
Si entras en desesperación, en la espera de la versión de Astro 2.0.2 como me paso, solo intenta el comando aportado por el compañero Ameth, para instalar la última versión de Astro.
npm create astro@latest -- --template portfolio project-name
Entorno de Trabajo
La personalización de desarrollo es clave y posible con los editores e IDEs modernos de trabajo. Cuando iniciamos con algún lenguaje o herramienta tipo Framework, buscamos generar un ecosistemas de extensiones que permiten optimizar y armonizar nuestro desarrollo. . En VSCode, es un popular editor de código que ha ido agarrando cariño como herramienta clave. Con Astro, podemos personalizar VSCode via su plugin para obtener beneficios como: .
.astro , permitiéndonos visualizar de mejor manera el código por alguna definición mal formada, identación o segmentación de código.
..
📌 Referencia Astro | VSCode Extension
. Así mismo, es posible encontrar extensiones y plugins para otro tipo de editores e IDEs, como JetBrains, según sea la comunidad o la demanda. Siendo esté último accesible vía el IDE en modo Early Access. .
Complementos para desarrollo
Adicionalmente, podemos emplear revisores o formateadores de código, para evaluar las reglas de código y de aplicación de estilos, respectivamente mediante ESLint y Prettier. . Por ejemplo, para Prettier podemos instalar su dependencia y plugin:
pnpm install -D prettier prettier-plugin-astro
Para después, vincularlo como script en package.json con el binario prettier --write .
Gracias!
hola, ya instale wsl pero al intentar instalar astro:
npm create astro@latest -- --template portfolio proyect1
Command 'npm' not found, but can be installed with: sudo apt install npm
saludos
Hola eso es porque para ejecutar este tipo de comandos necesitas instalar primero Node Js, te comparto la liga a continuacion: https://nodejs.org/es
Si sigues teniendo problemas, hay que revisar que la instalacion de node este en modo global para que puedas acceder desde cualquier carpeta
cual es la diferecia entre la version 2 y la ultima que es la 3
Hola Abad, te comparto la liga de la documentación, donde nos hablan acerca de las actualizaciones en la V3 de Astro
Es importante tener instalado NODE en su ultima version, para esto podriamos hacer lo siguiente:
sudo npm cache clean -f
sudo npm install -g n
node -v -- chequeamos que version tenemos
node update -- actualizamos node
sudo n stable -- instalamos la ultima v estable
node -v --verificamos la version
✅
Seria bueno que actualizaran este curso.
Hoy en día es mejor usar pnpm en lugar de npm ya que es mucho más rápido
¿Van a hacer actualización del contenido con las novedades de Astro 4?
hola
tengo el sgte error:
buitrago29@DESKTOP-E3TS4B0:~$ npm create astro@latest -- --template portfolio astro '\wsl.localhost\Ubuntu\home\buitrago29' CMD.EXE se inició con esta ruta como el directorio actual. No se permiten rutas UNC. Regresando de manera predeterminada al directorio Windows.
astro v2.2.0 Launch sequence initiated.
◼ dir Using astro as project directory ◼ tmpl Using portfolio as project template ▲ error ENOENT: no such file or directory, rmdir 'astro'
npm ERR! code 1 npm ERR! path \wsl.localhost\Ubuntu\home\buitrago29 npm ERR! command failed npm ERR! command C:\Windows\system32\cmd.exe /d /s /c create-astro --template portfolio astro
npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\USUARIO\AppData\Local\npm-cache_logs\2023-04-06T03_10_40_686Z-debug-0.log
Hola Juan, buscando información del error, parece que el error se da porque la terminal de Windows que estás utilizando no está reconociendo correctamente la dirección de tu carpeta:
\wsl.localhost\Ubuntu\home\buitrago29
Puedes probar corriendo el comando en Powershell o utilizando el WSL de Windows para tener una terminal de Linux.
hola
buitrago29@DESKTOP-E3TS4B0:$ npm create
Command 'npm' not found, but can be installed with:
sudo apt install npm
buitrago29@DESKTOP-E3TS4B0:$ sudo apt install npm
[sudo] password for buitrago29:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package npm
hola, error al ejecutar:
buitrago29@DESKTOP-E3TS4B0:~$ npm create
Command 'npm' not found, but can be installed with: sudo apt install npm
hola
ejecuto en ubuntu el comando como lo escribe Oscar y se genera el error: Command 'npm' nor found
quien me puede ayudar ?
"npm" es un paquete de Node.js, por lo que tienes que instalar Node.js
sudo apt-get update sudo apt-get install nodejs
Después para ver si esta instalando puedes usar los siguientes comandos para mirar la versión:
node -v npm -v
node ya estaba instalado ...