global-variable-exists 在 Sass 中触发错误

2023-12-04

我正在使用类似三元的语句来初始化 Sass 中的变量。这允许我将一些默认变量设置为 Zurb Foundation 正在使用的相同变量,但如果我决定不包含 Foundation 模块,那么事情就不应该落在他们头上。

$nav-link-icon-color: if( global-variable-exists($topbar-link-color), $topbar-link-color, #fff) !default;

在我升级到 Sass 3.4 之前,这一切都工作正常。紧接着,我开始收到此错误:

error sass/style.scss (Line 20 of sass/partials/_navigation-icons.scss: $name: #ffffff is not a string for `global-variable-exists')

$topbar-link-color当我检查它时已经初始化了。它是一个值为 #fff 的字符串,由 Foundation 声明如下:

$topbar-link-color: #fff !default;

我什至尝试将未初始化的变量传递给global-variable-exists():

$nav-link-icon-color: if( global-variable-exists($happy-scrappy), $happy-scrappy, #fff) !default;

但 Sass 仍然讨厌这一点:

error sass/style.scss (Line 21 of sass/partials/_navigation-icons.scss: Undefined variable: "$happy-scrappy".)

这对我来说很奇怪,因为整个要点global-variable-exists()你知道,就是检查变量是否存在。看起来参数发送到global-variable-exists()没有被正确解析,但我不知道。

我尝试卸载所有版本的 Sass 和 Compass,然后重新安装,最后重新启动,但无济于事。我什至恢复到我之前使用的 Sass 3.3.14,但同样的错误仍然存​​在。

指南针1.0.1 萨斯3.4.0 基础5.3.3 红宝石 2.0.0p481 赢7 64位

编辑:经过进一步研究,我错误的做法是在 sass 3.2.19 和 compass 0.12.2 中工作。


“问题”仍然存在,因为您错误地使用了该函数。这docs描绘出关于如何使用该函数的非常清晰的图景:

$a-false-value: false;
// global-variable-exists(a-false-value) => true

.foo {
  $some-var: false;
  @if global-variable-exists(some-var) { /* false, doesn't run */ }
}

看看没有变量被传递给函数吗?那是因为它期望包含变量名称的字符串,而不是变量本身。传递变量本身会违背函数的目的:你不能将不存在的变量传递给函数或 mixin。

所以...只需放下$:

$nav-link-icon-color: if( global-variable-exists(topbar-link-color), $topbar-link-color, #fff) !default;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

global-variable-exists 在 Sass 中触发错误 的相关文章

随机推荐

  • 来自右值的非常量引用的初始化无效

    所以我有以下功能 void scan std istream is Handler h 我想以不同的方式调用它 例如 scan std cin Handler scan std ifstream myfile myhandler 编译器抱怨
  • 当 Web 应用程序在 Maven 驱动的 Vaadin 14 Web 应用程序中启动时,将我的 Java 代码加载的数据或配置文件放在哪里

    在由 Plain Java Servlet 风格创建的 Vaadin 14 Web 应用程序项目中瓦丁起始页 有许多由 Maven POM 文件过程自动创建的文件夹 当我的网络应用程序启动时 我将加载和解析的数据文件或配置文件放在哪里 我的
  • 未找到 NSS 字符串编码

    我下载了一个 html 页面 并尝试使用以下命令将其从 NSData 编码为 NSString NSString string NSString alloc initWithData receivedData encoding NSISOL
  • Google Chrome 扩展程序有什么方法可以增加本地存储空间吗?

    我认为 HTML5 本地存储每个域最多可以存储 5MB Google Chrome 扩展程序可以指定域来增加存储空间吗 您只能在清单中为扩展程序的存储请求无限空间 属于其他域的存储无法更改 permissions unlimitedStor
  • Perl 更改调用者的工作目录

    我想编写一个 perl 脚本 将其工作目录更改为其他位置 执行某些操作 然后在从 shell 调用它后将我留在该目录中 chdir只做第一部分 如何更改调用者的工作目录 This is可能的 但是 您必须打开其中之一 dev mem设备处于
  • 使用 Facebook Graph Api 搜索帖子

    我想使用图形 API 搜索过去 30 天的数据的帖子 新闻源 这样做的最佳做法是什么 Facebook Graph API 是否有 API 限制来限制 HTTP 请求的请求 注意 以下内容都不再有效 从 Facebook Graph API
  • NSDate isEqualToDate:不起作用 - 它是否查看秒和分秒?

    我不明白为什么这个方法不起作用 使用 isEqualToDate 时是否查看秒数和分秒数 Test that the NSDate category s DatePlusDays method works void testNSDateCa
  • 在 JavaScript 中通过 ID 引用 ASP.NET 控件?

    当 ASP NET 控件呈现时 它们的 id 有时会发生变化 就像它们位于命名容器中一样 Button1实际上可能有一个 idctl00 ContentMain Button1例如 当它被渲染时 我知道您可以将 JavaScript 作为字
  • jQuery Mobile 默认选项卡

    我想在 jQuery Mobile 中设置默认选项卡 我的源代码 div div ul li a href one one a li li a href two two a li li a href ajax content html th
  • 将 bash 脚本添加到路径

    我想向 linux PATH 添加一个小脚本 这样我就不必在磁盘上物理放置的位置实际运行它 该脚本非常简单 就是通过代理提供 apt get 访问权限 我这样做是这样的 bin bash array len array args array
  • JQuery Datepicker 返回 Date 对象类型

    Datepicker返回的对象类型是什么 假设我有以下内容 txtbox datepicker onClose function date something What is date 我有兴趣从另一个日期选择器读取日期对象进行比较 例如
  • Wix 安装、服务器、客户端或两者

    我想创建 Wix 安装程序来安装 Client Server或两者都基于用户选择 我的问题是当用户选择服务器时如何限制安装客户端 它被安装 因为它的级别 1 我已经定制了WixUI Mondo 我尝试使用组件条件但没有成功
  • 任何 iPhone 应用程序使用的内存

    关于iOS内存管理 我有一些不明白的地方 我想知道 iPhone 应用程序在设备上运行时通常需要多少内存 是否有像 10MB 这样的固定数字 如果应用程序包含大量大图像 对内存有何影响 它们仅在加载时影响内存吗 当有多个应用程序运行时 iO
  • WebBrowser 控件报告什么 UserAgent?

    只是想知道 VB NET 在访问网页时读取的浏览器类型是什么 例如 在我的网站上 它显示了访问我的网站的所有不同浏览器的详细信息 您没有为您的问题提供太多背景信息 但我认为您正在谈论用户代理字符串当您使用时发送的WebBrowser con
  • 使用路径变量在 golang 中调用 GET REST API

    我是第一次尝试Golang 我正在尝试调用具有路径变量的 GET REST API 我正在使用 net http 我正在尝试如下所示 但到目前为止还没有运气 我需要知道如何使用路径变量并从代码中传递该变量 任何帮助或代码示例将不胜感激 这似
  • SQL Server - 重叠数据的累积总和 - 获取总和达到给定值的日期

    在我们公司 我们的客户执行我们在不同表中记录的各种活动 面试出勤 课程出勤和其他一般活动 我有一个数据库视图 它将所有这些表中的数据结合在一起 为我们提供了如下所示的 ActivityView 正如您所看到的 一些活动是重叠的 例如 在参加
  • 生成 1D 张量作为 2D 张量的行的唯一索引

    假设我们通过为每个不同的行提供不同的索引来将 2D 张量转换为 1D 张量 从0 to the number of rows 1 1 2 1 3 1 4 gt 0 1 2 但如果有相同的行 那么我们重复索引 如下所示 1 2 1 2 1 4
  • 将自定义小部件添加到 QTableWidget 单元格

    我有使用 qt 设计器制作的自定义小部件 我想将其添加到 QTableWidget 单元格中 但这不起作用 这是代码 int nRows 10 for int row 0 row lt nRows row QTableWidgetItem
  • 使用sscanf多次读取字符串

    我正在尝试读取多维数组内字符串的内容 问题是 当我这样做时 sscanf 继续仅读取第一个字符 我的绳子上有这个 A1 A2 A3 A4 我想读取 c d 如果只是 A1 我可以读取这个 但是当这种情况发生时 它只读取 A1 我这样做是为了
  • global-variable-exists 在 Sass 中触发错误

    我正在使用类似三元的语句来初始化 Sass 中的变量 这允许我将一些默认变量设置为 Zurb Foundation 正在使用的相同变量 但如果我决定不包含 Foundation 模块 那么事情就不应该落在他们头上 nav link icon