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 :
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 packages 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 :
-
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.
-
Pour tous les autres paramètres régionaux du thème :
- Les fichiers qui remplacent les paramètres régionaux déployés sont définis et déployés.
- 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.
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 de fichiers en stockant des fichiers similaires dans des sous-répertoires base
.
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. Les sous-répertoires base
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.
<area>/<theme>/<locale>
<area>/<theme>/default
<area>/Magento/base/<locale>
<area>/Magento/base/default
base/Magento/base/<locale>
base/Magento/base/default
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
Le fichier map.php
est utilisé par Magento\Framework\View\Asset\Repository
pour créer les URL correctes.
requirejs-map.js
est utilisé par le module externe baseUrlResolver
pour RequireJS.
Exemple de map.php
:
return [
'Magento_Checkout::cvv.png' => [
'area' => 'frontend',
'theme' => 'Magento/luma',
'locale' => 'en_US',
],
'...' => [
'area' => '...',
'theme' => '...',
'locale' => '...'
]
];
Exemple de 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.