我正在使用sass导入来处理我的rails 3.2应用程序的大多数样式。我的application.css.scss文件如下所示:
application.css
/*
*= require_self
*= require_tree ./vendor
*= require admin
*/
admin.css.scss
// Reset
@import "global/reset";
// General Variables
@import "admin/general/_variables";
// Main Elements
@import "admin/general/_typography";
// Layout
@import "global/_layout";
@import "admin/general/_gridset";
// Modules
@import "admin/modules/_table";
@import "admin/modules/_forms";
@import "admin/modules/_buttons";
// Styles
@import "admin/_style-clean";
@import "admin/_style-images";
// Features
@import "admin/features/features";
错误消息:Sass :: SyntaxError - 未定义的变量:“$ body-bg”。 (在/var/www/apps/dev_wbs/releases/20130624191222/app/assets/stylesheets/admin/_style-clean.css.scss)
_variables.css.scss(已导入)包含$ body-bg,并在_style-clean.css.scss中引用
我最初在sass语法中有这个,但每次我们推送到dev服务器时,我们都会收到Sass :: SyntaxError - Undefined variable:“$ body-bg”的错误。变量在变量文件中声明,错误来自_style-clean scss文件。我把这个变量放到了样式清理文件中,但后来我得到了另一个变量错误,但它引用了排版文件中的一个,它位于样式清理之上,让我想到某种方式资产正在预先编译后再添加。
我想回到使用sass语法,但scss和sass都会抛出变量错误。
所有单个文件目前的格式为:_variables.css.scss。
任何帮助将不胜感激!
答案 0 :(得分:1)
资产管道依靠application.css
告诉它要包含哪些文件。将其更改为SASS可能不会允许它工作。
此外,您的application.css需要告诉Ruby在哪里查找文件:
/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the top of the
* compiled file, but it's generally better to create a new file per style scope.
*
*= require_self
*= require_tree .
*/
如果您将问题中粘贴的代码放入global.css.scss这样的新文件中,并在application.css
中重新创建/app/assets/stylesheets/
,则应使用上述代码进行比赛。 SASS风格也是如此。