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:

  • Standard: der reguläre Bereitstellungsprozess.
  • Quick (default): minimiert die für die Bereitstellung erforderliche Zeit, wenn Dateien für mehr als ein Gebietsschema bereitgestellt werden.
  • Kompakt: minimiert den Speicherplatz, der von den veröffentlichten Ansichtsdateien belegt wird.

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:

  1. Für jedes Design wird ein beliebiges Gebietsschema ausgewählt und alle Dateien für dieses Gebietsschema werden wie in der Standardstrategie bereitgestellt.

  2. Für alle anderen Gebietsschemata des Designs:

    1. Dateien, die das bereitgestellte Gebietsschema überschreiben, werden definiert und bereitgestellt.
    2. Alle anderen Dateien gelten für alle Gebietsschemata als ähnlich und werden aus dem bereitgestellten Gebietsschema kopiert.
INFO
Mit similar meinen wir Dateien, die unabhängig vom Gebietsschema, Thema oder Bereich sind. Diese Dateien können CSS, Bilder und Schriftarten enthalten.

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.

Muster
Beschreibung
<area>/<theme>/<locale>
Spezifische Dateien für einen bestimmten Bereich, ein bestimmtes Design und ein bestimmtes Gebietsschema
<area>/<theme>/default
Dateien, die für alle Gebietsschemata eines bestimmten Designs eines bestimmten Bereichs ähnlich sind.
<area>/Magento/base/<locale>
Dateien, die für einen bestimmten Bereich und ein bestimmtes Gebietsschema spezifisch sind, aber für alle Designs ähnlich sind.
<area>/Magento/base/default
Dateien, die für einen bestimmten Bereich spezifisch sind, aber für alle Designs und Gebietsschemata ähnlich sind.
base/Magento/base/<locale>
Dateien, die für alle Bereiche und Designs ähnlich sind, aber für ein bestimmtes Gebietsschema spezifisch sind.
base/Magento/base/default
Ähnlich für alle Bereiche, Themen und Gebietsschemata.

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.

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