Assets
¿Qué son los Assets?
En términos simples, los assets (o "activos" en español) son todos los archivos que no son código propiamente dicho, pero que son esenciales para que una aplicación o sitio web funcione y se vea correctamente.
Piensa en ellos como los materiales de construcción de tu sitio web: mientras que el código PHP (Laravel) es la estructura, los cimientos y la lógica, los assets son el acabado, la pintura, los muebles y las decoraciones.
Tipos Comunes de Assets
| Tipo de Asset | Ejemplos | Para qué sirven |
|---|---|---|
| Estilos (CSS) | bootstrap.css, app.css, styles.css | Definen el diseño, colores, fuentes y la apariencia visual de tu sitio. |
| Scripts (JS) | bootstrap.js, app.js, jquery.js | Agregan interactividad, animaciones y funcionalidad dinámica en el navegador. |
| Imágenes | .jpg, .png, .svg, .gif, .ico | Logos, fotos, iconos, fondos y cualquier elemento gráfico. |
| Fuentes | .woff, .woff2, .ttf | Tipografías personalizadas para que el texto se vea único. |
| Vídeos | .mp4, .webm | Contenido multimedia. |
El Flujo de Trabajo con Assets en Laravel
Aquí está la clave de tu problema original. En Laravel, los assets no se usan directamente desde donde los escribes. Primero deben ser "compilados" o "procesados".
Este proceso es necesario por varias razones:
Organización: Laravel mantiene el código y los assets separados.
Optimización: Se combinan y minifican archivos para que la página cargue más rápido.
Procesamiento: Se compila Sass a CSS puro y se transpila JavaScript moderno a una versión compatible con todos los navegadores.
La Ruta Crítica de un Asset (Ej: Bootstrap CSS)
El error más común (y el que probablemente tienes) es olvidar ejecutar npm run dev después de instalar Laravel UI. Sin este paso, la carpeta public/css/ está vacía y el navegador no encuentra los estilos de Bootstrap.
La Función asset()
En tus vistas de Laravel, nunca debes escribir la ruta manualmente así:
<link href="/css/app.css" rel="stylesheet"> <!-- ❌ MAL -->
Debes usar la función helper asset():
<link href="{{ asset('css/app.css') }}" rel="stylesheet"> <!-- ✅ CORRECTO -->
¿Por qué? Porque la función asset() apunta automáticamente a la carpeta public/, que es la única carpeta accessible desde el navegador. Además, es esencial si tu sitio está en un subdirectorio o si usas HTTPS, ya que genera la URL absoluta correcta.
En Resumen:
Assets = Archivos estáticos (CSS, JS, imágenes).
En Laravel, se guardan en
resources/(para editar) ypublic/(para usar).Debes compilarlos con
npm run devdespués de hacer cambios.Se referencian en las vistas usando la función
asset().
Solución definitiva para tu problema: Ve a tu terminal, navega hasta la carpeta de tu proyecto Laravel y ejecuta:
npm run devEste comando tomará el archivo resources/sass/app.scss (que importa Bootstrap) y creará el archivo public/css/app.css final que tu navegador puede entender y cargar
Comentarios
Publicar un comentario