自定义UI库的放置位置


8

我需要创建自己的UI库(主要是.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/

文献资料

我已经检查了有关UI库的文档,但是我不清楚应该在哪里放置自定义文件:https//github.com/magento/magento2/blob/2.0/lib/web/css/docs/source/README。 md

示例1link):

全局变量

如果变量是情侣主题通用的变量,则应将其放在_variables.less文件的全局lib中

我假设我们永远不要编辑默认的核心文件。那么,这是否意味着我应该使用自定义变量为文件创建自己的文件夹?到底在哪里?

/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(将分离到Utility文件夹中)

这表明应将自定义mixins放置在utilities.less新子目录下的新文件中/lib/web/css/source/lib/source。那是对的吗?

但是他们没有说我是否应该在那里创建自己的文件夹。

Answers:


2

我的答案可能是基于意见的,但我正在将Magento 1模块开发最佳实践应用于Magento 2

作为链接答案中的声明:

将您的静态资源(js,css,图像)放在以公司名称命名的文件夹中,以便更轻松地隔离它们

因此,我认为没有一个正确的答案,但是根据我刚刚发布的内容,我会说我会选择您的第一选择:

在此处创建自己的文件夹(例如,使用我的公司名称),例如/ lib / web / company,以使我的所有自定义文件与Magento默认文件分开


1

目前,Magento 2不提供任何建议的方法来全局扩展该库。预期的方法是在自定义主题中添加所有样式。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.