Dove posizionare la libreria UI personalizzata


8

Devo creare la mia libreria UI (principalmente .lessfile, ma anche immagini e .js) che verranno utilizzati in più moduli e temi personalizzati. Ho pensato di aggiungere semplicemente i miei file alla libreria UI di Magento che si trova sotto /lib/web.

  1. Prima di tutto, è consentito (ed è una buona pratica) aggiungere file personalizzati /lib/web?

  2. Se aggiungo lì file personalizzati, devo creare lì la mia cartella (ad esempio con il nome della mia azienda) in modo da /lib/web/companymantenere separati tutti i miei file personalizzati dai file predefiniti di Magento?

Per esempio:

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

O dovrei creare una cartella personalizzata all'interno di ciascuna delle cartelle predefinite? Come questo:

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

Documentazione

Ho controllato la documentazione sulla libreria UI, ma non mi è chiaro dove dovrebbero essere posizionati i file personalizzati: https://github.com/magento/magento2/blob/2.0/lib/web/css/docs/source/README. md

Esempio 1 ( collegamento ):

Variabili globali

Se le variabili sono comuni per i temi di coppia, dovrebbero trovarsi nella lib globale nel file _variables.less

Presumo che non dovremmo mai modificare i file core predefiniti. Quindi significano che dovrei creare la mia cartella per il file con variabili personalizzate? Dove esattamente?

/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

Esempio 2 ( collegamento ):

Le estensioni utilizzate in più di un tema devono essere salvate in lib lib/source/utilities.less(saranno separate nella cartella delle utility)

Ciò suggerisce che i mixin personalizzati dovrebbero essere inseriti in un nuovo file utilities.lessall'interno di una nuova sottodirectory /lib/web/css/source/lib/source. È corretto?

Ma non dicono se dovrei creare la mia cartella lì.

Risposte:


2

La mia risposta potrebbe essere basata sull'opinione ma sto applicando le migliori pratiche di sviluppo del modulo Magento 1 a Magento 2

Come affermazione nella risposta collegata:

Metti le tue risorse statiche (js, css, images) in una cartella denominata con il nome dell'azienda per facilitare l'isolamento

Quindi non penso che ci sia una risposta giusta, ma in base a ciò che ho appena pubblicato direi che sceglierei la tua prima opzione:

Crea lì la mia cartella (ad esempio con il nome della mia azienda) come / lib / web / company per mantenere tutti i miei file personalizzati separati dai file predefiniti di Magento


1

Attualmente Magento 2 non fornisce alcun modo consigliato per estendere la libreria a livello globale. Il modo previsto è aggiungere tutti i tuoi stili in temi personalizzati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.