Где разместить пользовательскую библиотеку пользовательского интерфейса

8

Мне нужно создать свою собственную библиотеку пользовательского интерфейса (в основном .lessфайлы, но также изображения и .js), которая будет использоваться в нескольких пользовательских модулях и темах. Я думал, что просто добавлю свои файлы в библиотеку Magento UI, которая находится под /lib/web.

  1. Но, во-первых, разрешено ли (и это хорошая практика) добавлять пользовательские файлы в /lib/web?

  2. Если я добавлю туда пользовательские файлы, должен ли я создать там свою собственную папку (например, с названием моей компании), /lib/web/companyчтобы все мои пользовательские файлы были отделены от файлов Magento по умолчанию?

Например:

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

Или я должен создать собственную папку внутри каждой из папок по умолчанию? Нравится:

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

Документация

Я проверил документацию по библиотеке пользовательского интерфейса, но мне не ясно, где следует размещать пользовательские файлы: https://github.com/magento/magento2/blob/2.0/lib/web/css/docs/source/README. Мэриленд

Пример 1 ( ссылка ):

Глобальные переменные

Если переменные являются общими для пары тем, они должны быть расположены в глобальной библиотеке lib в файле _variables.less.

Я предполагаю, что мы никогда не должны редактировать стандартные файлы ядра. Значит ли это, что я должен создать свою папку для файла с пользовательскими переменными? Где именно?

/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

Пример 2 ( ссылка ):

Расширения, которые используются в более чем одной теме, должны быть сохранены в lib lib/source/utilities.less(будут разделены на папку утилит)

Это говорит о том, что пользовательские миксины должны быть помещены в новый файл utilities.lessвнутри нового подкаталога /lib/web/css/source/lib/source. Это верно?

Но они не говорят, должен ли я создать свою собственную папку там.

zitix
источник

Ответы:

2

Мой ответ может быть основан на мнении, но я применяю лучшие практики разработки модулей Magento 1 к Magento 2

Как утверждение в связанном ответе:

Поместите ваши статические ресурсы (js, css, images) в папку с именем компании, чтобы их было легче изолировать.

Так что я не думаю, что есть один правильный ответ, но на основании того, что я только что опубликовал, я бы сказал, что я выберу первый вариант:

Создайте там мою собственную папку (например, с именем моей компании), например / lib / web / company, чтобы все мои пользовательские файлы были отделены от файлов по умолчанию в Magento

Рафаэль в цифровом пианизме
источник
1

В настоящее время Magento 2 не предоставляет рекомендуемого способа расширения библиотеки в глобальном масштабе. Предполагаемый способ - добавить все ваши стили в пользовательские темы.

Alex
источник