Bereitstellungsstrategien für statische Ansichtsdateien
Bei der Bereitstellung statischer Ansichtsdateien können Sie eine der drei verfügbaren Strategien auswählen. Jeder von ihnen liefert optimale Implementierungsergebnisse für verschiedene Anwendungsfälle:
In den folgenden Abschnitten werden die Implementierungsdetails und Funktionen der einzelnen Strategien beschrieben.
Standardstrategie
Wenn die Standardstrategie verwendet wird, werden alle statischen Ansichtsdateien für alle Pakete bereitgestellt, d. h. von \Magento\Framework\App\View\Asset\Publisher
verarbeitet.
Weitere Informationen finden Sie unter Statische Ansichtsdateien bereitstellen.
Schnellstrategie
Die Schnellstrategie führt die folgenden Aktionen durch:
-
Für jedes Design wird ein beliebiges Gebietsschema ausgewählt und alle Dateien für dieses Gebietsschema werden wie in der Standardstrategie bereitgestellt.
-
Für alle anderen Gebietsschemata des Designs:
- Dateien, die das bereitgestellte Gebietsschema überschreiben, werden definiert und bereitgestellt.
- Alle anderen Dateien gelten für alle Gebietsschemata als ähnlich und werden aus dem bereitgestellten Gebietsschema kopiert.
Dieser Ansatz minimiert die für mehrere Gebietsschemata erforderliche Bereitstellungszeit, obwohl viele Dateien dupliziert werden.
Kompakte Strategie
Die kompakte Strategie vermeidet Dateiduplizierungen, indem ähnliche Dateien in base
-Unterverzeichnissen gespeichert werden.
Für das am besten optimierte Ergebnis werden drei Bereiche für eine mögliche Ähnlichkeit zugeordnet: Bereich, Thema und Gebietsschema. Die Unterverzeichnisse base
werden für alle Kombinationen dieser Bereiche erstellt.
Die Dateien werden entsprechend den folgenden Mustern in diesen Unterverzeichnissen bereitgestellt.
<area>/<theme>/<locale>
<area>/<theme>/default
<area>/Magento/base/<locale>
<area>/Magento/base/default
base/Magento/base/<locale>
base/Magento/base/default
Zuordnen bereitgestellter Dateien
Der in der kompakten Strategie verwendete Bereitstellungsansatz bedeutet, dass Dateien von Basisthemen und Gebietsschemata übernommen werden. Diese Vererbungsrelationen werden in den Zuordnungsdateien für jede Kombination aus Bereich, Thema und Gebietsschema gespeichert. Es gibt separate map-Dateien für PHP und JS:
map.php
requirejs-map.js
Die Datei map.php
wird von Magento\Framework\View\Asset\Repository
verwendet, um korrekte URLs zu erstellen.
Der requirejs-map.js
wird vom Plug-in baseUrlResolver
für RequireJS verwendet.
Beispiel für map.php
:
return [
'Magento_Checkout::cvv.png' => [
'area' => 'frontend',
'theme' => 'Magento/luma',
'locale' => 'en_US',
],
'...' => [
'area' => '...',
'theme' => '...',
'locale' => '...'
]
];
Beispiel für requirejs-map.js
:
require.config({
"config": {
"baseUrlInterceptor": {
"jquery.js": "../../../../base/Magento/base/en_US/"
}
}
});
Tipps für Erweiterungsentwickler
Verwenden Sie zum Erstellen von URLs zu statischen Ansichtsdateien \Magento\Framework\View\Asset\Repository::createAsset()
.
Verwenden Sie keine URL-Verkettungen, um zu vermeiden, dass Probleme mit statischen Dateien beim Rendern der Seite nicht gefunden und nicht angezeigt werden.