Dónde colocar la biblioteca de IU personalizada

8

Necesito crear mi propia biblioteca de interfaz de usuario (principalmente .lessarchivos, pero también imágenes y .js) que se usará en múltiples módulos y temas personalizados. Pensé que solo agregaría mis archivos a la biblioteca de Magento UI que se encuentra debajo /lib/web.

  1. Pero antes que nada, ¿está permitido (y es una buena práctica) agregar archivos personalizados /lib/web?

  2. Si agrego archivos personalizados, ¿debería crear allí mi propia carpeta (por ejemplo, con el nombre de mi empresa) /lib/web/companypara mantener todos mis archivos personalizados separados de los archivos predeterminados de Magento?

Por ejemplo:

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

¿O debería crear una carpeta personalizada dentro de cada una de las carpetas predeterminadas? Me gusta esto:

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

Documentación

He comprobado la documentación sobre la biblioteca de la interfaz de usuario, pero no me queda claro dónde deben colocarse los archivos personalizados: https://github.com/magento/magento2/blob/2.0/lib/web/css/docs/source/README. Maryland

Ejemplo 1 ( enlace ):

Variables globales

Si las variables son comunes para un par de temas, debe ubicarse en la biblioteca global en el archivo _variables.less

Supongo que nunca debemos editar los archivos principales predeterminados. Entonces, ¿significan que debo crear mi propia carpeta para el archivo con variables personalizadas? ¿Donde exactamente?

/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

Ejemplo 2 ( enlace ):

Las extensiones que se usan en más de un tema deben guardarse en lib lib/source/utilities.less(se separarán en la carpeta de utilidades)

Esto sugiere que los mixins personalizados se deben colocar en un nuevo archivo utilities.lessdentro de un nuevo subdirectorio /lib/web/css/source/lib/source. ¿Es eso correcto?

Pero no dicen si debería crear mi propia carpeta allí.

zitix
fuente

Respuestas:

2

Mi respuesta puede estar basada en una opinión, pero estoy aplicando las mejores prácticas de desarrollo del módulo Magento 1 a Magento 2

Como declaración en la respuesta vinculada:

Coloque sus recursos estáticos (js, css, imágenes) en una carpeta con el nombre de la compañía para que sea más fácil aislarlos.

Así que no creo que haya una respuesta correcta, pero según lo que acabo de publicar diría que elegiría su primera opción:

Cree allí mi propia carpeta (por ejemplo, con el nombre de mi empresa) como / lib / web / company para mantener todos mis archivos personalizados separados de los archivos predeterminados de Magento

Raphael en Digital Pianism
fuente
1

Actualmente Magento 2 no proporciona ninguna forma recomendada para extender la biblioteca a nivel mundial. La forma prevista es agregar todos sus estilos en temas personalizados.

Alex
fuente