Estrategias de implementación para archivos de vista estática

Al implementar archivos de vista estática, puede elegir una de las tres estrategias disponibles. Cada uno de ellos proporciona resultados de implementación óptimos para diferentes casos de uso:

  • Standard: el proceso de implementación regular.
  • Rápido (predeterminado): minimiza el tiempo necesario para la implementación cuando se implementan archivos para más de una configuración regional.
  • Compacto: minimiza el espacio que ocupan los archivos de vista publicados.

En las secciones siguientes se describen los detalles y las características de implementación de cada estrategia.

Estrategia estándar

Cuando se utiliza la estrategia estándar, se implementan todos los archivos de vista estática de todos los paquetes, es decir, se procesan mediante \Magento\Framework\App\View\Asset\Publisher.

Para obtener más información, vea Implementar archivos de vista estática.

Estrategia rápida

La estrategia rápida realiza las siguientes acciones:

  1. Para cada tema, se elige una configuración regional arbitraria y se implementan todos los archivos para esta configuración regional, como en la estrategia estándar.

  2. Para todas las demás configuraciones regionales de la temática:

    1. Los archivos que anulan la configuración regional implementada se definen e implementan.
    2. Todos los demás archivos se consideran similares para todas las configuraciones regionales y se copian de la configuración regional implementada.
INFO
Por similar, nos referimos a archivos que son independientes de la configuración regional, tema o área. Estos archivos pueden incluir CSS, imágenes y fuentes.

Este método minimiza el tiempo de implementación necesario para varias configuraciones regionales, aunque se dupliquen muchos archivos.

Estrategia compacta

La estrategia compacta evita la duplicación de archivos al almacenar archivos similares en base subdirectorios.

Para el resultado más optimizado, se asignan tres ámbitos para una posible similitud: área, tema y configuración regional. Los subdirectorios base se crean para todas las combinaciones de estos ámbitos.

Los archivos se implementan en estos subdirectorios según los siguientes patrones.

Patrón
Descripción
<area>/<theme>/<locale>
Archivos específicos de un área, tema y configuración regional determinados
<area>/<theme>/default
Archivos similares para todas las configuraciones regionales de un tema en particular de un área en particular.
<area>/Magento/base/<locale>
Archivos específicos de un área y configuración regional determinada, pero similares para todas las temáticas.
<area>/Magento/base/default
Archivos específicos de un área en particular, pero similares para todas las temáticas y configuraciones regionales.
base/Magento/base/<locale>
Archivos similares para todas las áreas y temáticas, pero específicos de una configuración regional en particular.
base/Magento/base/default
Similar para todas las áreas, temáticas y configuraciones regionales.

Asignación de archivos implementados

El método de implementación utilizado en la estrategia compacta significa que los archivos se heredan de los temas base y las configuraciones regionales. Estas relaciones de herencia se almacenan en los archivos de asignación para cada combinación de área, tema y configuración regional. Hay archivos de mapa independientes para PHP y JS:

  • map.php
  • requirejs-map.js

Magento\Framework\View\Asset\Repository utiliza el archivo map.php para generar las direcciones URL correctas.

El complemento baseUrlResolver utiliza requirejs-map.js para RequireJS.

Ejemplo de map.php:

return [
    'Magento_Checkout::cvv.png' => [
        'area' => 'frontend',
        'theme' => 'Magento/luma',
        'locale' => 'en_US',
    ],
    '...' => [
        'area' => '...',
        'theme' => '...',
        'locale' => '...'
    ]
];

Ejemplo de requirejs-map.js:

require.config({
    "config": {
       "baseUrlInterceptor": {
            "jquery.js": "../../../../base/Magento/base/en_US/"
        }
    }
});

Sugerencias para desarrolladores de extensiones

Para generar direcciones URL en archivos de vista estática, use \Magento\Framework\View\Asset\Repository::createAsset().

No utilice concatenaciones de URL para evitar problemas con los archivos estáticos que no se encuentran y no se muestran durante la representación de la página.

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c