运行时出现以下错误 bin/magento setup:static-content:deploy 命令意味着子主题没有利用 Magento LESS 到 CSS 编译:
Compilation from source: /srv/public_html/vendor/amasty/module-name/view/base/web/css/source/mkcss/ammodule.less Unable to get content for 'frontend/Vendor/theme/en_US/../../../lib/css/source/lib/_lib.less'
完整错误提示是这个,无法编译源文件,因为无法读取到文件,而_lib.less文件是默认M2中含有的。
可以按照下面的步骤解决。
步骤 1. 在终端中,打开 Magento 根目录。
步骤 2. 导航到受影响模块的目录( vendor/amasty/module-name
或 app/code/Amasty/ModuleName
),并打开 registration.php
文件。该文件将包含所需格式的模块名称;请复制该文件以供将来使用。
步骤 3. 从模块目录转到以下路径: mview/frontend/web/css/source/mkcss
并找到类似格式的文件: ammodule.less
(例如 ambrand.less
); 保存其名称并复制其内容以供进一步使用。
步骤 4. 导航到主题目录;可以在 /app/design/vendor/theme
找到它 (例如 app/design/SmartWave/Porto
)
步骤 5. 使用之前复制的模块和 .less 文件名,创建一个 Amasty_ModuleName/web/css/source/mkcss/ammodule.less
文件。
步骤 6. 之后,复制 ammodule.less
文件从模块文件夹复制到新创建的文件中,并在路径中添加两个“步骤”(../../) _lib.less
和 _responsive.less
文件内容应如下所示(粗体下划线元素是添加的):
// Generating css file. Path from vendor/magento/theme-frontend-blank @import (reference) '../../../../../lib::css/source/lib/_lib.less'; // Library files @import (reference) '../../../../../lib::css/source/lib/_responsive.less'; // Global responsive @import '../_module.less';
完成这些步骤后,部署命令应该可以成功运行。