我正在尝试为我的rails项目声明一些全局变量。在app / assets / stylesheets内部,我创建了一个styles.css.scss文件,如下所示:
$fullWidth: 900px;
@import "templates/navbar";
@import "templates/question-wrapper-main";
我的应用程序/资产/样式表/模板/_navbar.scss文件如下所示:
.navbar-container {
width: 100%;
.navbar {
width: $fullWidth;
margin: 0 auto;
.logo {
text-align: center;
}
.navigation {
float: right;
}
}
}
当我启动Rails服务器时,我得到:
Undefined variable: "$fullWidth"
我是在做错什么还是Sass变量仅在声明它们的文件内起作用?
存在此行为的原因有两个:
app/assets/stylesheets
加载任何样式表文件虽然(2)是理想的行为,但(1)有时不是。要禁用它,您可以删除Sprockets指令
/*
*= require_tree
*/
从您的app/assets/stylesheets/application.css
。该指令以递归方式遍历您的资产目录(因此,树),并且仅服从字母顺序(据我所知)。这导致加载您styles.css.scss
第一次,以后你templates/_navigation.css.scss
。
SASS错误是由于以下原因导致的:style.css.scss
已经引用了后来才定义的未知变量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句