Stratégies de déploiement pour les fichiers de vue statiques

Lors du déploiement de fichiers d’affichage statiques, vous pouvez choisir l’une des trois stratégies disponibles. Chacune d’elles fournit des résultats de déploiement optimaux pour différents cas d’utilisation :

  • Standard: processus de déploiement régulier.
  • Rapide (default) : réduit le temps nécessaire au déploiement lorsque des fichiers pour plusieurs paramètres régionaux sont déployés.
  • Compact: réduit l’espace pris par les fichiers d’affichage publiés.

Les sections suivantes décrivent les détails et les fonctionnalités de mise en oeuvre de chaque stratégie.

Stratégie standard

Lorsque la stratégie Standard est utilisée, tous les fichiers d’affichage statique de tous les modules sont déployés, c’est-à-dire traités par \Magento\Framework\App\View\Asset\Publisher.

Pour plus d’informations, voir Déploiement de fichiers d’affichage statique.

Stratégie rapide

La stratégie rapide effectue les actions suivantes :

  1. Pour chaque thème, un paramètre régional arbitraire est sélectionné et tous les fichiers de ce paramètre régional sont déployés, comme dans la stratégie standard.

  2. Pour tous les autres paramètres régionaux du thème :

    1. Les fichiers qui remplacent les paramètres régionaux déployés sont définis et déployés.
    2. Tous les autres fichiers sont considérés comme similaires pour tous les paramètres régionaux et sont copiés à partir des paramètres régionaux déployés.
INFO
Par similaire, nous entendons par fichiers indépendants des paramètres régionaux, du thème ou de la zone. Il peut s’agir de fichiers CSS, d’images et de polices.

Cette approche réduit le temps de déploiement requis pour plusieurs paramètres régionaux, bien que de nombreux fichiers soient dupliqués.

Stratégie compacte

La stratégie compacte évite la duplication des fichiers en stockant des fichiers similaires dans base sous-répertoires.

Pour le résultat le plus optimisé, trois portées d’une similarité possible sont attribuées : zone, thème et paramètre régional. La variable base les sous-répertoires sont créés pour toutes les combinaisons de ces portées.

Les fichiers sont déployés dans ces sous-répertoires selon les modèles suivants.

Modèle
Description
<area>/<theme>/<locale>
Fichiers spécifiques à une zone, un thème et un paramètre régional spécifique
<area>/<theme>/default
Fichiers similaires pour tous les paramètres régionaux d’un thème particulier d’une zone particulière.
<area>/Magento/base/<locale>
Fichiers spécifiques à une zone et à un paramètre régional spécifiques, mais similaires pour tous les thèmes.
<area>/Magento/base/default
Fichiers spécifiques à une zone particulière, mais similaires pour tous les thèmes et paramètres régionaux.
base/Magento/base/<locale>
Fichiers similaires pour tous les domaines et thèmes, mais spécifiques à un paramètre régional spécifique.
base/Magento/base/default
Similaire à pour tous les domaines, thèmes et paramètres régionaux.

Mappage des fichiers déployés

L’approche de déploiement utilisée dans la stratégie compacte signifie que les fichiers sont hérités des thèmes de base et des paramètres régionaux. Ces relations d’héritage sont stockées dans les fichiers de mappage pour chaque combinaison de zone, de thème et de paramètres régionaux. Il existe des fichiers map distincts pour PHP et JS :

  • map.php
  • requirejs-map.js

La variable map.php est utilisé par Magento\Framework\View\Asset\Repository pour créer des URL correctes.

La variable requirejs-map.js est utilisé par la variable baseUrlResolver pour RequireJS.

Exemple d'un map.php:

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

Exemple d'un requirejs-map.js:

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

Conseils pour les développeurs d’extensions

Pour créer des URL vers des fichiers d’affichage statique, utilisez \Magento\Framework\View\Asset\Repository::createAsset().

N’utilisez pas de concaténations d’URL pour éviter des problèmes liés à l’absence de fichiers statiques et à leur non-affichage lors du rendu de la page.

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