Tutorial para instalar y usar Laravel Assets
Tutorial para instalar y usar Laravel Assets
Te guiaré paso a paso para instalar y usar assets (recursos estáticos como CSS, JavaScript, imágenes) en Laravel.
1. Estructura de directorios de assets en Laravel
Laravel organiza los assets en la carpeta public/:
public/
├── css/
├── js/
├── images/
└── index.php2. Métodos para incluir assets
Método 1: Usando la función asset() (Recomendado)
<!-- En tus vistas Blade -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
<script src="{{ asset('js/app.js') }}"></script>
<img src="{{ asset('images/logo.png') }}" alt="Logo">Método 2: Usando URL absoluta
<link href="/css/app.css" rel="stylesheet">Método 3: Usando Mix (para assets compilados)
<link href="{{ mix('css/app.css') }}" rel="stylesheet">3. Configuración inicial
Paso 1: Crear la estructura de carpetas
# Crear directorios para assets
mkdir -p public/css public/js public/images public/fontsPaso 2: Instalar dependencias frontend (opcional)
# Instalar Node.js y npm primero si no los tienes
# Inicializar package.json
npm init -y
# Instalar Laravel Mix (empaquetador de assets)
npm install laravel-mix --save-dev
# Instalar dependencias comunes
npm install bootstrap jquery popper.js --savePaso 3: Configurar webpack.mix.js
Crea o edita el archivo webpack.mix.js en la raíz del proyecto:
const mix = require('laravel-mix');
mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css')
.version();4. Ejemplo práctico completo
Paso 1: Crear archivos de assets
public/css/app.css:
body {
font-family: 'Arial', sans-serif;
background-color: #f8f9fa;
}
.header {
background-color: #343a40;
color: white;
padding: 20px;
}public/js/app.js:
document.addEventListener('DOMContentLoaded', function() {
console.log('Laravel assets cargados correctamente');
// Ejemplo de funcionalidad
document.querySelector('.btn-alert').addEventListener('click', function() {
alert('¡Funciona!');
});
});Paso 2: Crear vista Blade
resources/views/welcome.blade.php:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Laravel Assets Tutorial</title>
<!-- Incluir CSS -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
</head>
<body>
<div class="header">
<h1>Bienvenido a Laravel</h1>
</div>
<div class="container mt-4">
<button class="btn-alert btn btn-primary">Haz clic</button>
<img src="{{ asset('images/logo.png') }}" alt="Logo" width="100">
</div>
<!-- Incluir JavaScript -->
<script src="{{ asset('js/app.js') }}"></script>
</body>
</html>Paso 3: Configurar ruta
routes/web.php:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});5. Usando Laravel Mix para compilar assets
Instalación y configuración avanzada
# Instalar Laravel Mix y dependencias
npm install laravel-mix cross-env --save-dev
# Instalar preprocesadores CSS
npm install sass sass-loader --save-devwebpack.mix.js avanzado:
const mix = require('laravel-mix');
mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css')
.copy('resources/images', 'public/images')
.copy('resources/fonts', 'public/fonts')
.version()
.browserSync('localhost:8000'); // Recarga automáticaCompilar assets:
# Compilación para desarrollo
npm run dev
# Compilación para producción
npm run prod
# Observar cambios en tiempo real
npm run watch6. Consejos y mejores prácticas
1. Usar versionado para cache busting
<link href="{{ mix('css/app.css') }}" rel="stylesheet">2. Organizar assets por módulos
public/
├── css/
│ ├── admin/
│ ├── frontend/
│ └── auth/
├── js/
│ ├── modules/
│ ├── vendor/
│ └── app.js
└── images/3. Usar CDN para librerías comunes
<!-- En lugar de incluir localmente -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">4. Minificar assets en producción
npm run prod7. Solución de problemas comunes
Assets no se cargan
Verifica que el servidor esté ejecutándose
Revisa permisos de archivos:
chmod -R 755 public/Limpia cache:
php artisan optimize:clear
Error 404 en assets
Verifica las rutas en
asset()Asegúrate de que los archivos existan en
public/
8. Comandos útiles
# Limpiar cache de rutas y vistas
php artisan route:clear
php artisan view:clear
# Optimizar aplicación
php artisan optimize
# Instalar composer dependencies
composer install
# Instalar npm dependencies
npm install¡Listo! Ahora tienes un sistema completo para gestionar assets en tu aplicación Laravel. ¿Te gustaría que profundice en algún aspecto específico?
Comentarios
Publicar un comentario