2014-12-03 116 views
2

我正在查看bower foundation project,我很難看到項目如何找到部分。特別是,我看着_settings.scssthat has a relative reference in it我只是不太明白。SCSS如何找到部分?

在第58行有對​​的引用,但是這部分(_functions.scss)是設置部分的兄弟。我很困惑,爲什麼在那一行有一個對父目錄foundation的引用。我也很困惑這是如何工作的。爲什麼設置文件不會在同一級別上查找名爲foundation的目錄?

回答

1

如果您嘗試導入不存在的文件,答案就會變得清晰。這裏有http://sassmeister.com/生成當您嘗試import "foo";(不存在)錯誤的摘錄:

File to import not found or unreadable: foo. 
Load paths: 
    /app 
    /app/lib/sass_modules 
    /app/vendor/bundle/ruby/2.0.0/gems/compass-0.12.6/frameworks/blueprint/stylesheets 
    /app/vendor/bundle/ruby/2.0.0/gems/compass-0.12.6/frameworks/compass/stylesheets 
    /app/vendor/bundle/ruby/2.0.0/gems/susy-1.0.9/sass 

如果薩斯開始搜索請求的文件相對於每個這些目錄的,直到它找到它。

對於香草無禮,人會通過--import-path選項添加額外的路徑:

sass --watch test.scss:test.css --load-path ../path/to/lib/ --load-path ../path/to/otherlib/ 

北斗用戶將在他們的config.rb使用additional_import_pathsadd_import_path(參見:http://compass-style.org/help/documentation/configuration-reference/

add_import_path "../path/to/lib/" 

只有基金會的作者可以回答你的具體問題,爲什麼他們會以這種方式編寫導入。但這是它工作的原因。

0

看看你config.rb的2線

add_import_path "bower_components/foundation/scss" 

如果你看一下該文件中的青菜,在bower_components /基礎/ _foundation.scss只是全進口毯爲其餘部件在地基/部件