为什么Compass在尝试导入部分时会给我一个导入错误

时间:2013-01-17 22:07:49

标签: import sass compass-sass partials

我的指南针项目目录结构如下所示

s3z@s3z:~/Desktop/compass_project$ tree
.
├── basic.html
├── config.rb
├── css
│   ├── ie.css
│   ├── print.css
│   └── screen.css
├── index.html
├── partials
│   └── _normalize.scss
└── sass
    ├── ie.scss
    ├── print.scss
    └── screen.scss

我的screen.scss文件看起来像这样

@import "compass";
@import "partials/normalize";   

当我添加@import "partials/normalize";并保存时,指南针会向我发出以下错误

>>> Compass is watching for changes. Press Ctrl-C to Stop.
>>> Change detected at 22:58:53 to: screen.scss
    error sass/screen.scss (Line 2: File to import not found or unreadable: partials/normalize.
Load paths:
  /home/max/Desktop/nettut_compass_tut/sass
  /home/max/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/frameworks/blueprint/stylesheets
  /home/max/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/frameworks/compass/stylesheets
  Compass::SpriteImporter)
overwrite ./css/screen.css 

如果重要,我的config.rb

http_path = "/"
css_dir = "css"
sass_dir = "sass"
images_dir = "images"
javascripts_dir = "javascripts"

有关如何解决这个问题的想法吗?

1 个答案:

答案 0 :(得分:6)

您已将sass_dir定义为sass,因此指南针正在寻找重置文件:sass/partials/normalize如果您要导入sass_dir之外的内容,需要使用相对于正在执行导入的sass文件的路径:

@import "../partials/normalize";

就个人而言,我更喜欢将部分目录放在sass目录中,或者让它们排序到顶部松散。

相关问题