Actualización del curso:
Para el componente que utilizamos de HyperUI ya no es necesario hacer la instalación del plugin:
npm install @tailwind/line-clamp
Ahora solo con copiar y pegar el componente funcionara.
¿Por qué usar TypeScript en tus proyectos?
Incorporar TypeScript en tus proyectos trae numerosos beneficios que mejoran la eficiencia y seguridad de tu código. Este superpoder transforma a JavaScript en un lenguaje más robusto al proporcionar un sistema de tipado estático. Veamos las configuraciones y ventajas clave que TypeScript ofrece para optimizar tu código y reducir errores.
¿Cuáles son las configuraciones principales de TypeScript?
En la raíz de tu proyecto encontrarás el archivo tsconfig.json, vital para configurar tu entorno TypeScript al máximo según tus necesidades. Generalmente, se adoptan configuraciones preestablecidas como:
Al seguir los pasos al ejecutar tu proyecto, te recomendamos usar la configuración recomendada por el sistema en la terminal, lo que garantiza un rendimiento óptimo desde el inicio sin necesidad de instalar dependencias adicionales.
¿Cómo TypeScript mejora la calidad del código con interfaces y tipos?
TypeScript garantiza la correcta asignación de tipos a los datos mediante interfaces, facilitando la lectura y mantenimiento del código. Considera el ejemplo de una interfaz llamada Props en un componente Card:
interface Props { title: string; body: string; href: string; }
Esta interfaz asegura que los componentes reciban los tipos correctos de datos. Por ejemplo, title, body y href deben ser cadenas de texto. Si intentas asignar un tipo incompatible, como un número, TypeScript te lo advertirá, ayudando a prevenir errores comunes.
¿Cómo cambiar un componente para utilizar Tailwind y nuevas props?
Al integrar un nuevo diseño con Tailwind, es vital adaptar las props de tu componente. Supongamos que decides cambiar el cuerpo del componente Card para incluir una nueva estructura de datos:
Cambiar interfaces y tipos: Si cambias los props de tu componente, asegúrate de actualizar la interfaz. Si el body ahora es time y añadimos tags:
interface Props { title: string; time: string; tags: string[]; }
Adaptar el código HTML: Copia el componente desde un recurso Tailwind, eliminando el HTML y CSS innecesarios, e integra la nueva estructura con clases de Tailwind.
Actualizar las props en index.astro: Revisa y modifica los valores asignados al componente Card. Asegúrate de que los valores asignados concuerdan con los nuevos tipos. Por ejemplo:
<Card title="Hello Astro" time="05.07" tags={["JavaScript"]} />
¿Cómo realizar instalaciones necesarias para Tailwind?
Al importar componentes de Tailwind, podrías necesitar instalar plugins específicos para asegurar su correcto funcionamiento. Ejecuta el comando proporcionado tras copiar el código HTML de Tailwind en tu terminal y reinicia tu entorno de desarrollo local para aplicar los cambios.
# Comando de instalación proporcionado por el recurso de Tailwind npm install <plugin-name>
¿Cómo garantizar una integración efectiva con Tailwind?
Una vez instalada la extensión necesaria, agrega la línea requerida en la configuración de plugins de Tailwind.
// tailwind.config.js module.exports = { plugins: [ require('<plugin-name>') ], }
Esto asegura que los estilos y funciones adicionales de Tailwind sean correctamente aplicados al componente.
Adoptar TypeScript no solo ayuda a evitar errores de tipado y a mantener un código limpio y documentado, sino que también mejora el flujo de trabajo al integrar herramientas eficaces como Tailwind. Con esta sinergia, optimizarás la eficiencia y mantenimiento de tus desarrollos. ¡Sigue explorando las posibilidades y expandiendo tus habilidades en el fascinante mundo del desarrollo web!
Incorporar TypeScript en tus proyectos trae numerosos beneficios que mejoran la eficiencia y seguridad de tu código. Este superpoder transforma a JavaScript en un lenguaje más robusto al proporcionar un sistema de tipado estático. Veamos las configuraciones y ventajas clave que TypeScript ofrece para optimizar tu código y reducir errores.
En la raíz de tu proyecto encontrarás el archivo tsconfig.json, vital para configurar tu entorno TypeScript al máximo según tus necesidades. Generalmente, se adoptan configuraciones preestablecidas como:
Al seguir los pasos al ejecutar tu proyecto, te recomendamos usar la configuración recomendada por el sistema en la terminal, lo que garantiza un rendimiento óptimo desde el inicio sin necesidad de instalar dependencias adicionales.
TypeScript garantiza la correcta asignación de tipos a los datos mediante interfaces, facilitando la lectura y mantenimiento del código. Considera el ejemplo de una interfaz llamada Props en un componente Card:
interface Props {
title: string;
body: string;
href: string;
}
Esta interfaz asegura que los componentes reciban los tipos correctos de datos. Por ejemplo, title, body y href deben ser cadenas de texto. Si intentas asignar un tipo incompatible, como un número, TypeScript te lo advertirá, ayudando a prevenir errores comunes.
Al integrar un nuevo diseño con Tailwind, es vital adaptar las props de tu componente. Supongamos que decides cambiar el cuerpo del componente Card para incluir una nueva estructura de datos:
Cambiar interfaces y tipos: Si cambias los props de tu componente, asegúrate de actualizar la interfaz. Si el body ahora es time y añadimos tags:
interface Props {
title: string;
time: string;
tags: string[];
}
Adaptar el código HTML: Copia el componente desde un recurso Tailwind, eliminando el HTML y CSS innecesarios, e integra la nueva estructura con clases de Tailwind.
Actualizar las props en index.astro: Revisa y modifica los valores asignados al componente Card. Asegúrate de que los valores asignados concuerdan con los nuevos tipos. Por ejemplo:
<Card title="Hello Astro" time="05.07" tags={["JavaScript"]} />
Al importar componentes de Tailwind, podrías necesitar instalar plugins específicos para asegurar su correcto funcionamiento. Ejecuta el comando proporcionado tras copiar el código HTML de Tailwind en tu terminal y reinicia tu entorno de desarrollo local para aplicar los cambios.
# Comando de instalación proporcionado por el recurso de Tailwind
npm install <plugin-name>
Una vez instalada la extensión necesaria, agrega la línea requerida en la configuración de plugins de Tailwind.
// tailwind.config.js
module.exports = {
plugins: [
require('<plugin-name>')
],
}
Esto asegura que los estilos y funciones adicionales de Tailwind sean correctamente aplicados al componente.
Adoptar TypeScript no solo ayuda a evitar errores de tipado y a mantener un código limpio y documentado, sino que también mejora el flujo de trabajo al integrar herramientas eficaces como Tailwind. Con esta sinergia, optimizarás la eficiencia y mantenimiento de tus desarrollos. ¡Sigue explorando las posibilidades y expandiendo tus habilidades en el fascinante mundo del desarrollo web!
Actualización del curso:
Para el componente que utilizamos de HyperUI ya no es necesario hacer la instalación del plugin:
npm install @tailwind/line-clamp
Ahora solo con copiar y pegar el componente funcionara.
Les recomiendo que descarguen la extensión de VSCode para Tailwind, les ayudará mucho a la hora de buscar y seleccionar clases: https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss
Las clases de este profesor son un dolor de cabeza para mí. Es creo que el único al que no le entiendo lo que explica, no le entiendo el orden ni es claro el fondo de lo que quiere transmitir. Todo lo que indica parece provisional y no transmite cuando algo hace parte dle curso o cuando es un comentario personal sobre algo, no explica cuál es la función de los programas o extensiones que descargamos ni cuál es el concepto general de la extensión o para qué se creó, etc.
Debo terminar esta clase para continuar con la ruta pero es una jartera hacerlo. Se ve que el profesor es bien intencionado y quiere enseñar, pero es muy distinto querer hacer algo a en realidad poderlo hacer, no es suficiente la buena intención sino que esta intención debe acompañarse con un resultado que se entrega lo cual aquí no sucede.
Por default, Astro esta incorporado para el soporte de TypeScript, lo que nos permite extender de todas las capacidades nativas de dicho lenguaje. Por ejemplo, podemos evitar errores en tiempo de ejecución definiendo las formas de los objetos, componentes o reglas de uso. . Esencialmente, no necesitamos escribir nuestros recursos de Astro en TypeScript. Sin embargo, es bueno el recorder que Astro siempre trata nuestros recursos en TypeScript. .
Desde su inicialización, Astro nos incluye un archivo de configuración tsconfig.json :
{
"extends": "astro/tsconfigs/base"
}
Dicha línea, explica que heredaremos una configuración interna de Astro que nos permitirá incluir una serie de directivas predefinidas por la herramienta. .
📌 Referencia astro/packages/astro/tsconfigs at main · withastro/astro
. Adicionalmente, nuestra plantilla incluye una definición de entorno que provee sentido para Vite, del cual también goza Astro como herramienta de compilación. .
📌 Referencia Vite
.
Una de las configuraciones opcionales que podemos manipular son los aliases. .
ℹ️ Definición Un alias, es un atajo que posee significado en su asignación.
.
En nuestro archivo de configuración de TypeScript, solamente anexamos un bloque de paths para así poder beneficiarnos de los aliases:
{
"extends": "astro/tsconfigs/strict",
"compilerOptions": {
"paths": {
"@components/*": ["src/components/*"],
"@layouts/*": ["src/layouts/*"],
"@pages/*": ["src/pages/*"]
}
}
}
Lo que después podamos hacer en nuestros recursos del proyecto:
---
import HelloWorld from '@components/HelloWorld.astro';
import Layout from '@layouts/Layout.astro';
---
El curso no se ha actualizado, hay que tener cuidado. muchas cosas han cambiado. Ademas la forma de instalación cambia entre Windows y Mac. Los componentes antes se incluían en la instalación de Typescript, ahora es diferente. Para windows necesitas permisos adicionales como el uso de npx. Hay que buscar mucha información por tu cuenta para seguir con el curso
Si optamos por la opción npx astro add tailwind que nos instalará la versión mas moderna de tailwind no hay que crear el archivo .cjs porque ya se nos crea uno .mjs que es donde tendremos que pegar la configuración del componente además de no tener que instalar nada mas.
sin importar el que escojas usar esto en la terminal npm install @tailwindcss/line-clamp y en el codigo require('@tailwindcss/line-clamp')
este video no tiene relación con la información anterior, ¿se saltaron pasos o acaso me perdí?
No se preocupen por esta clase, no deberia afectar para lo siguiente, el componente que esta usando el profe de Card ya no existe en la creacion del proyecto, ahora se llama Welcome.astro siguiendo los mismos paso de las pagina de los componentes quedaria tal que asi:
Nota son impotantes los guiones del principio
---
export interface Props {
title: string;
time: string;
tags: string;
}
const { title, time, tags } = Astro.props;
---
<article class="overflow-hidden rounded-lg shadow-sm transition hover:shadow-lg">
<img alt="" src="https://images.unsplash.com/photo-1524758631624-e2822e304c36?auto=format&fit=crop&q=80&w=1160" class="h-56 w-full object-cover">
<div class="bg-white p-4 sm:p-6">
<time datetime={time} class="block text-xs text-gray-500"> {time} </time>
<a href="#">
<h3 class="mt-0.5 text-lg text-gray-900">
{title}
</h3>
</a>
<p class="mt-2 line-clamp-3 text-sm/relaxed text-gray-500">
{tags}
</p>
</div>
</article>
y en el archivo del index.astro, las properties del componente quedan asi, es normal que la card tome todo el ancho de la pantalla
<Welcome
title="Hello Astro!"
time="2026-01-10"
tags={"javascript"}
/>
Sería muy bueno que el profesor Diego de Granda pueda rehacer los cursos que ha hecho Oscar para que podamos aprender de los temas que Platzi cree que son importantes.