2013-03-14 39 views
0

我真的不知道如何調試,也許有人有一個想法。Rails 3.2&LESS:一些application.css.less @imported LESS文件不會觸發重新編譯

我有很多LESS文件,我輸入application.css.less。我們使用Bootstrap,並且我們希望使用在它自己的樣式中定義的變量,所以我們不能要求清單中的LESS文件(因爲所需的文件似乎沒有將其變量公開給其他所需的文件)。

一切都很好,除少數LESS文件 - 編輯時 - 不會觸發CSS的重新編譯!這似乎是非常隨機的,哪些是不會的,只有6個沒有(總共約25個)。當我在清單中需要其中一個時,它會成功導致重新編譯 - 如果我@import它,它不會。

關於如何調試的任何想法?如果我重新命名他們中的一個(例如,從time_records.lesstime_records2.less),它成功地引發重新編譯更改後...所以它確實會與這些6個特異性文件的名稱的東西:

  • calendars.less
  • contacts.less
  • folders.less
  • handout.css.less
  • print.css.less
  • time_records.css.less

任何幫助,非常感謝。謝謝。

+0

你有沒有想出任何解決方案?我面臨着類似的問題。 – 2013-09-17 16:24:49

回答

2

最新版less-rails實現了可以解決您的問題的導入掛鉤。我意識到這是一個遲到的答案,當時可能還沒有。

進口魚鉤

任何@import到.LESS文件將自動聲明文件作爲鏈輪依賴於文件導入。這意味着您可以編輯導入的框架文件並在開發過程中查看父項中反映的更改。所以這樣的:

@import "frameworks/bootstrap/mixins"; 

#leftnav { .border-radius(5px); } 

最終會採取行動,如果你有下面這樣做:

/* 
*= depend_on "frameworks/bootstrap/mixins.less" 
*/ 

@import "frameworks/bootstrap/mixins"; 

#leftnav { .border-radius(5px); } 

的depend_on指令

depend_on路徑聲明給定的路徑的依賴關係,而不包括其在捆綁中。當您需要爲了響應另一個文件中的更改而終止資產的緩存時,這非常有用。