Wo kann eine benutzerdefinierte UI-Bibliothek platziert werden?

8

Ich muss meine eigene UI-Bibliothek erstellen (hauptsächlich .lessDateien, aber auch Bilder und .js), die in mehreren benutzerdefinierten Modulen und Designs verwendet wird. Ich dachte, ich füge meine Dateien einfach der Magento UI-Bibliothek hinzu, die sich unter befindet /lib/web.

  1. Aber ist es zuallererst erlaubt (und ist es eine gute Praxis), benutzerdefinierte Dateien hinzuzufügen /lib/web?

  2. Wenn ich dort benutzerdefinierte Dateien hinzufüge, sollte ich dort meinen eigenen Ordner (z. B. mit meinem Firmennamen) erstellen /lib/web/company, um alle meine benutzerdefinierten Dateien von den Magento-Standarddateien zu trennen?

Zum Beispiel:

lib/
├── web/
   ├── css/
      ├── source/
   ├── fonts/
   ├── jquery/
   ├── company/
      ├── css/
         ├── source/
      ├── fonts/
      ├── jquery/

Oder sollte ich in jedem der Standardordner einen benutzerdefinierten Ordner erstellen? So was:

lib/
├── web/
   ├── css/
      ├── source/
      ├── company/
         ├── source/
   ├── fonts/
      ├── company/
   ├── jquery/
      ├── company/

Dokumentation

Ich habe die Dokumentation zur UI-Bibliothek überprüft, aber mir ist nicht klar, wo benutzerdefinierte Dateien abgelegt werden sollen: https://github.com/magento/magento2/blob/2.0/lib/web/css/docs/source/README. md

Beispiel 1 ( Link ):

Globale Variablen

Wenn Variablen für einige Themen gemeinsam sind, sollten sie sich in der globalen Bibliothek in der Datei _variables.less befinden

Ich gehe davon aus, dass wir niemals die Standard-Kerndateien bearbeiten sollten. Bedeuten sie also, dass ich meinen eigenen Ordner für die Datei mit benutzerdefinierten Variablen erstellen sollte? Wo genau?

/lib/web/company/css/source/lib/_variables.less

/lib/web/css/company/source/lib/_variables.less

/lib/web/css/source/company/lib/_variables.less

/lib/web/css/source/lib/company/_variables.less

Beispiel 2 ( Link ):

Erweiterungen, die in mehr als einem Thema verwendet werden, sollten in lib gespeichert werden lib/source/utilities.less(werden in den Dienstprogrammordner getrennt).

Dies legt nahe, dass benutzerdefinierte Mixins in einer neuen Datei utilities.lessin einem neuen Unterverzeichnis abgelegt werden sollten /lib/web/css/source/lib/source. Ist das korrekt?

Aber sie sagen nicht, ob ich dort meinen eigenen Ordner erstellen soll.

zitix
quelle

Antworten:

2

Meine Antwort könnte meinungsbasiert sein, aber ich wende die Best Practice für die Magento 1-Modulentwicklung auf Magento 2 an

Als Aussage in der verknüpften Antwort:

Legen Sie Ihre statischen Ressourcen (js, css, images) in einem Ordner mit dem Firmennamen ab, damit Sie sie leichter isolieren können

Ich glaube nicht, dass es eine richtige Antwort gibt, aber basierend auf dem, was ich gerade gepostet habe, würde ich sagen, dass ich mich für Ihre erste Option entscheiden würde:

Erstellen Sie dort meinen eigenen Ordner (z. B. mit meinem Firmennamen) wie / lib / web / company, um alle meine benutzerdefinierten Dateien von den Magento-Standarddateien zu trennen

Raphael beim digitalen Pianismus
quelle
1

Derzeit bietet Magento 2 keine empfohlene Möglichkeit, die Bibliothek global zu erweitern. Die beabsichtigte Methode besteht darin, alle Ihre Stile in benutzerdefinierten Designs hinzuzufügen.

Alex
quelle