SASS全局变量未传递给partials

Dra*_*ken 25 assets sass ruby-on-rails-3

基本上我有一个结构,曾经在3.0.x完美地工作,现在它打破了undefined variable错误.

  • 谐音
    • _base.css.sass
    • _header.css.sass
  • main.css.sass
  • application.css.sass

application.css.sass:

//=require 'main'
Run Code Online (Sandbox Code Playgroud)

main.css.sass:

@import 'partials/base'
@import 'partials/header'
Run Code Online (Sandbox Code Playgroud)

非常简单的东西.

我收到错误,_header.css.sass 因为它使用了一个定义的变量_base.css.sass

我以前没有这个错误,对我来说没有任何意义,因为我们在导入_base.css.sass的同一个上下文中导入了这些变量_header.css.sass.

我是否还要_base.css.sass在每个部分进口?main.css.sass如果不能在你需要的部分中使用全局变量,那么它的要点是什么?

如果我的结构完全错误,请给我一个替代方案,我喜欢建议.

小智 26

你不能使用//=require包含"动态"SASS之类的东西,比如mixins和变量,因为它只用于包含最"静态"的东西(比如纯CSS).你必须拥有@import所有文件application.css.sass.Railscasts在第268集中提供了很好的解释.