我的指南针项目目录结构如下所示
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"
有关如何解决这个问题的想法吗?
答案 0 :(得分:6)
您已将sass_dir
定义为sass
,因此指南针正在寻找重置文件:sass/partials/normalize
如果您要导入sass_dir
之外的内容,需要使用相对于正在执行导入的sass文件的路径:
@import "../partials/normalize";
就个人而言,我更喜欢将部分目录放在sass目录中,或者让它们排序到顶部松散。