【问题标题】:SCSS variables turning into "undefined variable" [duplicate]SCSS变量变成“未定义变量”[重复]
【发布时间】:2012-06-06 00:15:06
【问题描述】:

这是我的结构的基本视图:

+- application.scss
+- _variables.scss
+- normalize.scss

application.scss 包含

@import "variables";
@import "normalize";

_variables.scss 包含

$test-variable: Verdana;

如果它在application.scss 中使用,它会起作用,但它不会延续到normalize.scss。据我了解,这应该是可能的。要么?有谁知道如何做到这一点?

【问题讨论】:

  • 这很奇怪。我有一个类似的结构,之前声明的变量在其他文件中可用。我认为你需要找到一个错误的地方。
  • 我通过简单地将我的 normalize.scss 文件重命名为 _normalize.scss 来使其工作,从而使其成为“部分”。但它似乎仍然不完全正确。

标签: sass


【解决方案1】:

您不必在使用变量的地方导入部分变量。 (至少,不再)。

始终在使用 _variables 的其他 @import 之前使用 _variables 部分。

【讨论】:

    【解决方案2】:

    您必须将变量部分导入到使用变量的任何文件中。

    【讨论】:

      【解决方案3】:

      您必须将 _variables.scss 导入规范化样式表才能访问这些变量。

      【讨论】:

      • 就像普通的 CSS 导入一样?没有别的办法了吗?原因是在我不断构建的过程中会有很多变量,并且当每个文件重复相同的导入时,对于测试和原型制作都很繁琐,而不是让我只注释掉一行。
      • 基本上因为您将 normalize.scss 编译为单独的样式表,除非您在该文档的顶部使用 @import "variables",否则它不会看到这些变量。如果将 normalize .scss 编译到 application.scss 中,则可能不必这样做。又名文件是 _normalize.scss 而不是 normalize.scss。
      猜你喜欢
      • 1970-01-01
      • 2021-08-10
      • 1970-01-01
      • 2015-05-24
      • 2014-10-09
      • 2016-12-26
      • 1970-01-01
      • 2022-12-31
      • 2020-08-22
      相关资源
      最近更新 更多