Onde colocar a biblioteca da interface do usuário personalizada

8

Preciso criar minha própria biblioteca de interface do usuário (principalmente .lessarquivos, mas também imagens e .js) que será usada em vários módulos e temas personalizados. Eu pensei em apenas adicionar meus arquivos à biblioteca Magento UI, localizada em /lib/web.

  1. Mas antes de tudo, é permitido (e é uma boa prática) adicionar arquivos personalizados /lib/web?

  2. Se eu adicionar arquivos personalizados, devo criar lá minha própria pasta (por exemplo, com o nome da minha empresa), /lib/web/companypara manter todos os meus arquivos personalizados separados dos arquivos padrão do Magento?

Por exemplo:

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

Ou devo criar uma pasta personalizada dentro de cada uma das pastas padrão? Como isso:

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

Documentação

Eu verifiquei a documentação sobre a biblioteca da interface do usuário, mas não está claro para mim onde os arquivos personalizados devem ser colocados: https://github.com/magento/magento2/blob/2.0/lib/web/css/docs/source/README. md

Exemplo 1 ( link ):

Variáveis ​​globais

Se as variáveis ​​forem comuns para alguns temas, elas deverão estar localizadas na lib global no arquivo _variables.less

Suponho que nunca devemos editar o padrão dos arquivos principais. Então, eles significam que eu deveria criar minha própria pasta para o arquivo com variáveis ​​personalizadas? Onde exatamente?

/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

Exemplo 2 ( link ):

As extensões usadas em mais de um tema devem ser salvas na lib lib/source/utilities.less(serão separadas na pasta utilitários)

Isso sugere que mixins personalizados devem ser colocados em um novo arquivo utilities.lessdentro de um novo subdiretório /lib/web/css/source/lib/source. Isso está correto?

Mas eles não dizem se devo criar minha própria pasta lá.

zitix
fonte

Respostas:

2

Minha resposta pode ser baseada em opiniões, mas estou aplicando as melhores práticas de desenvolvimento de módulos Magento 1 ao Magento 2

Como declaração na resposta vinculada:

Coloque seus recursos estáticos (js, css, imagens) em uma pasta chamada com o nome da empresa para facilitar o isolamento deles

Portanto, acho que não há uma resposta certa, mas com base no que acabei de postar, eu diria que escolheria sua primeira opção:

Crie lá minha própria pasta (por exemplo, com o nome da minha empresa) como / lib / web / company para manter todos os meus arquivos personalizados separados dos arquivos padrão do Magento

Raphael na Digital Pianism
fonte
1

Atualmente, o Magento 2 não fornece nenhuma maneira recomendada de estender a biblioteca globalmente. A maneira pretendida é adicionar todos os seus estilos em temas personalizados.

Alex
fonte