我正在使用 sass imports 来处理我们的 rails 3.2 应用程序的大部分样式。我的 application.css.scss 文件如下所示:
应用程序.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 - undefined variable :“$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 语法中有这个,但每次我们推送到开发服务器时,我们都会收到 Sass::SyntaxError - Undefined variable: "$body-bg"的错误。变量在variables文件中声明,错误来自_style-clean scss文件。我已将此变量放入 style-clean 文件中,但随后出现另一个变量错误,但它指的是排版文件中的一个变量,它位于 style-clean 之上,这让我不知何故认为 Assets 正在预先-编译后添加。
我想回到使用 sass 语法,但是 scss 和 sass 都会抛出变量错误。
所有单个文件当前的格式为:_variables.css.scss。
如有任何帮助,我们将不胜感激!
最佳答案
Assets 管道依靠 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)并在 /app/assets/stylesheets/
中重新创建 application.css
> 你应该同时使用上面的代码和 SASS 样式来参加比赛。
关于css - Assets 管道 sass 导入不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17283028/