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

3 import sass partials compass-sass

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

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
Run Code Online (Sandbox Code Playgroud)

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

@import "compass";
@import "partials/normalize";   
Run Code Online (Sandbox Code Playgroud)

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

>>> 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 
Run Code Online (Sandbox Code Playgroud)

以防万一我config.rb很重要

http_path = "/"
css_dir = "css"
sass_dir = "sass"
images_dir = "images"
javascripts_dir = "javascripts"
Run Code Online (Sandbox Code Playgroud)

有想法该怎么解决这个吗?

ste*_*eax 6

已经定义了你sass_dirsass这样的指南针正在寻找在复位文件:sass/partials/normalize如果你想导入之外的东西sass_dir,你需要使用相对于正在做进口的SASS文件的路径:

@import "../partials/normalize";
Run Code Online (Sandbox Code Playgroud)

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