wordpress - Wordpress SASS 编译器 - 没有 mixin 命名媒体
问题描述
我刚刚进入 wordpress (v 5.7) 并设置开发环境,但是 SCSS 编译器无法正常工作。我使用“TwentyTwentyOne”作为基本主题,使用 node-sass(node-sass v5.0.0,libsass v3.5.5)作为通过 Nodejs 的 SCSS 编译器。但是,当我尝试编辑页面导航时,我会立即收到错误消息“No mixin named media”。
监视 SCSS 的命令如下所示:
"scss": "node-sass -w xxx/wp-content/themes/twentytwentyone/assets/sass -o xxx/wp-content/themes/twentytwentyone"
进口似乎也都是正确的。在style.scss
用于媒体查询的 mixin 中也被导入 ( @import "03-generic/breakpoints";
) 并且在其中breakpoint.scss
还有 mixin " @mixin media( $res ) { ...}
"。我要修改的文件也是在导入breakpoint.scss后导入的。在header.scss
(我要修改的文件)中,mixin 包含在“ @include media(mobile){ ... }
”中。我没有改变结构/混合等中的任何东西......但是,只有 CSS 属性。
编译器中的完整错误:
{
"status": 1,
"file": "A:/xxx/xxx/xxx/wp-content/themes/twentytwentyone/assets/sass/06-components/header.scss",
"line": 11,
"column": 14,
"message": "no mixin named media",
"formatted": "Error: no mixin named media\n on line 11 of xxx/wp-content/themes/twentytwentyone/assets/sass/06-components/header.scss\n>> @include media(mobile) {\n\n -------------^\n"
}
以及 scss 中第 14 行周围的区域:
// Site header
.site-header {
@extend %responsive-alignwide-width;
display: flex;
align-items: flex-start;
flex-wrap: wrap;
row-gap: var(--global--spacing-vertical); // Add space in case the menu wraps below the site branding.
.wp-custom-logo & {
align-items: center;
}
@include media(mobile) {
padding-top: calc(var(--global--spacing-vertical) * 0.5); // 15px
}
@include media(desktop) {
padding-top: calc(0.5 * var(--global--spacing-vertical)); // 15px
}
}
我无法弄清楚为什么我会在这里收到此错误,或者找不到 mixin。有人可以帮我吗?
解决方案
推荐阅读
- reactjs - 反应:道具未在地图功能内更新
- c++ - 当不应存在子字符串时,具有多个字符的 find_first_of 不返回 string::npos
- python - 条目如何连接到方法
- javascript - 如何在数据表中添加新行并重新排序每行的索引?
- excel - 按顺序对 Excel 中的数据进行排序
- ios - 特定时间段的本地通知取消
- javascript - 如何使用 pug 迭代 json 数组?
- sql - 如何更新 JSONB 数组 Postgresql 数组对象中的多个值
- kubernetes - 具有基本身份验证的 Nginx-ingress Kubernetes 路由
- python - 随着执行的推进 + 意外的侧输入行为,数据流管道吞吐量急剧下降