Vistas
Puedes servir plantillas Blade usando la directiva View. Esta directiva, junto a ServeCompiledStatic, permite pasar a la vista un grupo de ficheros CSS y/o JS, y que estos carguen en una única petición comprimida y cacheada.
Directiva View
get /home:
GetCalendar:
directive: Pull
host: $.memory.hefesto-localhost
path: /datetime/calendar
target: calendar
cache: 3600
View:
directive: View
name: home
staticBasePath: $.map.main.staticBasePath
css:
- bootstrap.min
- home
js:
- bootstrap.bundle.min
- home
fragments:
- navbar
- footer
data:
calendar: $.memory.calendar
domain: $.map.main.domain
Parámetros de View:
- name: nombre de la plantilla (debe existir en
Assets/views/home.blade.php). - staticBasePath: base para enlaces a recursos (normalmente
/en producción,/{key}/en desarrollo). - css y js: listas de ficheros (sin extensión) en
Assets/css/yAssets/js/. Se sirven combinados en una sola petición. - fragments: lista de fragmentos Blade reutilizables. Cada fragmento es un archivo en
Assets/views/fragments/{nombre}.blade.php. Se renderizan como variables$navbar,$footer, etc. y se inyectan en la vista principal. - data: array de variables pasadas a la vista. Pueden ser valores simples, objetos complejos, o resultados de alias.
Recursos compilados (CSS/JS)
Para servir CSS y JS combinados en una sola petición, añade estos endpoints:
get /css:
ServeCompiledStatic:
directive: ServeCompiledStatic
extension: css
type: text/css
get /js:
ServeCompiledStatic:
directive: ServeCompiledStatic
extension: js
type: application/javascript
Estos endpoints reciben los parámetros r (release) y f (ficheros separados por coma) desde la URL generada automáticamente por $cssStaticFile / $jsStaticFile. Combinan todos los ficheros, los comprimen con gzip y los cachean en nginx.
Recursos estáticos individuales
Para servir imágenes, fuentes, favicon, etc., usa la directiva ServeStatic:
get /images/{id}:
ServeStatic:
directive: ServeStatic
path: Assets/images
file: $.message.pathParam.id
type: image/jpeg
Cache:
directive: CacheUrl
expirationMinutes: 120
Opciones de ServeStatic:
- path: ruta relativa dentro de Assets (o absoluta dentro de la API).
- file: nombre del fichero.
- type: Content-Type (image/jpeg, image/png, font/ttf, etc.).
- storage: si es
true, busca en el espacio de almacenamiento de la API (hefesto-pathstorage) en lugar de en Assets. - attachment: opcional, fuerza la descarga con nombre de fichero.
Para servir ficheros subidos por usuarios (almacenamiento):
get /simages/{id}:
ServeStatic:
directive: ServeStatic
storage: true
file: $.message.pathParam.id
type: image/jpeg
path: images
CacheStatic:
directive: CacheStatic
expirationMinutes: 6000