【问题标题】:How do I share variables between different imported files?如何在不同的导入文件之间共享变量?
【发布时间】:2016-01-15 20:59:50
【问题描述】:

我想以模块化的方式使用 SASS。在下面的代码段中,您可以看到我考虑组织页面布局的一种方式。

我想到的是external variables in languages like C

// file: some_page.scss  
//   
// I want some variables from the fonts, colors partials  
// to be visible to the buttons partial  
// Is it possible?   
// error: _buttons.scss (Line X: Undefined variable: "$color_blue")

@import "colors"  
@import "fonts"  
@import "buttons" 

// in file: _colors.scss  
$color_blue: blue;

// in file: _buttons.scss  

.button {
    background-color: $color_blue;
}

【问题讨论】:

  • 这应该可以。我在所有项目中都使用它,没有任何问题。如果您看到错误,则说明有其他问题。
  • 这对我仍然不起作用。似乎变量需要在使用它的文件中。
  • @SimonBoudrias 你怎么知道“错误与实际问题无关”?如果 OP 忽略包含分号,那么问题应该作为印刷错误关闭。如果分号存在,则问题仍应关闭为“不可重现”。
  • @cimmanon 示例代码中的语法错误与所提出的问题无关。
  • @SimonBoudrias 并且修复语法错误不会产生问题中声称的错误。事实上,它根本不会产生错误。

标签: sass


【解决方案1】:

是的,它就是这样工作的。

只要在其他文件之前导入_colors.scss

您可以在此处查看 Twitter Bootstrap 到 Sass 的端口:https://github.com/thomas-mcdonald/bootstrap-sass 它以类似的方式使用变量。

【讨论】:

    【解决方案2】:

    您需要在@import 行的末尾添加一个;

    【讨论】:

    • 这应该是评论而不是答案
    • 这就是解决方案。我遇到了同样的问题。
    • 好的,你的意思是,当添加分号时,变量是共享的?哇,那个接缝非常不直观。应该在哪一行添加“共享者”或“接收者”?你有参考吗?
    • 如果文件扩展名为 .sass,则不正确
    • @Chloe 确实。这就是为什么我的陈述是对您的回答的评论,而您的陈述是一个答案;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    • 2016-05-31
    相关资源
    最近更新 更多