2015-11-18 38 views
1

这也许是太早得到很好的答案,但在这里我们去:我有一个测试Rails项目,与assets/目录看起来是这样的:@进口版.scss文件和链轮4

config/ 
    manifest.js 
images/ 
javascripts/ 
    application.js 
stylesheets/ 
    _base.scss 
    _reset.scss 
    _theme.scss 
    _variables.scss 
    application.scss 

清单文件看起来是这样的:

// JS and CSS bundles 
//= link_tree ../javascripts .js 
//= link_tree ../stylesheets .css 

// Images so that views can link to them 
//= link_tree ../images 

而且application.scss这样的:

@import "reset"; 
@import "variables"; 
@import "base"; 
@import "theme"; 

_base.scss_theme.scss都使用_variables.scss文件中定义的变量。

什么我想要它只是编译application.scss正常,但它失败,因为它不认为变量已定义;这是合理的,我以树的形式链接,所以[我认为]它是单独编译每个文件,并且在该时间点两个文件都无法使用这些变量。

所以我尝试link ../stylesheets/application.css而不是树,我得到错误消息couldn't find file '../stylesheets/application.css' under '/Users/danielcouper/Projects/myproject/app/assets/config'; 似乎要查找完全错误的地方,或有不同的(无证)规则有关文件路径取决于您使用linklink_tree

如果我提出manifest.js出从assets/config/目录assets/,以获得相对路径的工作,如the Sprockets upgrading notes描述,我得到一个错误,告诉我,有assets/config/下没有清单文件。

该文件是[可以理解]超级稀疏的分钟;我读过的唯一有用的东西是http://eileencodes.com/posts/the-sprockets-4-manifest/,它允许我到达这一点

+0

我有同样的问题,也找不到答案。我现在手动导入所需的文件。 – lakesare

回答

0

不要使用link_tree,链接树会导入树中的所有文件。如果你只想要一个application.css文件,请使用此:

link application.scss 

这样链轮将开始在该文件和青菜会做进口。