2015-11-18 40 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 

這樣鏈輪將開始在該文件和青菜會做進口。