En esta lección te voy a enseñar cómo copiar archivos de HTML y CSS estáticos a tu proyecto de Laravel. Para ello nos vamos a dirigir al directorio resources/views donde vamos a colocar las plantillas que usaremos para construir nuestra aplicación de notas.
Mira el código en GitHub: actual, resultado, comparación.
En el enlace que dice «actual» debajo del video podrás ver y descargar los archivos estáticos que usaremos para este curso, los cuales se encuentran en el directorio public/static
- Si abrimos en el navegador http://curso-laravel-styde.local/static/notes.html podremos ver la plantilla para el listado de notas
- Si abrimos en el navegador http://curso-laravel-styde.local/static/add-note.html podremos ver la plantilla que usaremos para agregar o editar notas.
Recuerda colocar la URL correcta de tu proyecto y por supuesto copiar los archivos estáticos a un directorio nuevo llamado static dentro de public
Comencemos copiando notes.html y pegándolo como notes.blade.php dentro del directorio resources/views. También podemos eliminar la vista welcome.blade.php puesto que no la utilizaremos.
Ahora desde routes/web.php en vez de retornar una cadena, retornaremos la vista notes, observa que no hace falta colocar la extensión blade.php. Aprovechemos también de renombrar notas a / para que sea el homepage de nuestra app:
<?php
Route::get('/', function () {
return view('notes');
});
Ahora si nos dirigimos a http://curso-laravel-styde.local/ deberíamos ver nuestro listado de notas estático, aunque sin estilos.
Para asegurarte de que podrás ver los estilos de forma correcta, cambia:
<!-- HTML --> <link rel="stylesheet" href="/static/css/app.css"/>
Por:
<!-- HTML -->
<link rel="stylesheet" href="{{ asset('static/css/app.css') }}"/>
Procede a hacer los mismos pasos para copiar add-note.html como add-note.blade.php y cambiando la ruta para crear notas.
Si inspeccionas el código fuente podrás ver que el helper asset te permite crear un enlace absoluto a un archivo estático que esté dentro del directorio público de tu aplicación. Es decir el enlace va a cambiar dependiendo del dominio, IP o virtual host con el cual se ejecute la aplicación.
Con esto funcionando realicemos un par de pasos adicionales:
- Copia el directorio
public/static/cssapublic/css - Copia el directorio
public/static/imgapublic/img - Copia los archivos dentro de
public/static/scssaresources/sass - Asegúrate de cambiar
{{ asset('static/css/app.css') }}a{{ asset('css/app.css') }}en ambas plantillas dentro de/resources/views - Prueba que puedes visualizar ambas plantillas correctamente
- Finalmente elimina el directorio
public/static
En la lección siguiente aprenderemos más sobre Blade, el motor de plantillas de Laravel.
Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.
Lección anterior Rutas con parámetros dinámicos en Laravel 6 Lección siguiente Introducción a Blade el motor de plantillas de Laravel 6
