2014-12-03 64 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只是全进口毯为其余部件在地基/部件