6

设置舞台

我有以下样式表结构:

/stylesheets   
 |
 |-- /subfolder
 |    |
 |    + styles.css.scss
 |
 + application.css.scss 

应用程序.html.haml

  = stylesheet_link_tag "application", media: "all"
  = stylesheet_link_tag "subfolder/styles", media: "all"

应用程序.css.scss

@import "styleguide";
@import "styleguide/base/_all";
@import "styleguide/modules/_all-no-grid";
// Omitting rules not relevant to the problem

样式.css.scss

@import "styleguide";
@import "styleguide/grid/_grid";
@import "styleguide/modules/_all-grid";
// Omitting rules not relevant to the problem

样式指南文件存在于一个 gem 中,它在vendor/stylesheetsRoR 引擎的帮助下为资产提供服务。

问题

当我使用预编译的资产在生产中运行我的应用程序时,我遇到了指向@import样式指南的问题。

File to import not found or unreadable: styleguide.
Load path: 
 Sass::Rails::Importer([omitted]/app/assets/stylesheets/local/styles.css.scss)
 (in [omitted]/app/assets/stylesheets/local/styles.css.scss)

解决方法

样式指南本身没有问题,因为只要我subfolder/styles.css.sccsapplication.css.scss文件中导入文件,一切都会按预期工作。

应用程序.html.haml

  = stylesheet_link_tag "application", media: "all"

应用程序.css.scss

@import "styleguide";
@import "styleguide/base/_all";
@import "styleguide/modules/_all-no-grid";
@import "subfolder/styles"
// Omitting rules not relevant to the problem

样式.css.scss

// Same as above, included for completeness
@import "styleguide";
@import "styleguide/grid/_grid";
@import "styleguide/modules/_all-grid";
// Omitting rules not relevant to the problem

解决方案

有没有人遇到过这样的事情?是否有任何已知问题可能导致这种情况发生?

4

1 回答 1

2

我猜这是在你的styles.css.scss 文件中修改你的路径的一个简单问题。如果您的 styleguide 目录不在您的子文件夹中(它看起来不像),您将不得不在 styles.css.scss 中将您的导入路径指向上一层。如果是这种情况,请尝试:

@import "../styleguide";
...

因为 application.css.scss 位于上一级,所以它在导入期间会识别这些路径,而 styles.css.scss 则不会。

于 2013-12-19T21:30:48.287 回答