2011-10-10 85 views
4

我已經在新的資產管道以及SASS和SCSS上找到了TON資源。但是有一個問題讓我感到困惑:什麼是命名CSS文件的正確方法?是.css.scss,還是我不能只用.scssSCSS文件名

幾乎在我見過的每個例子中,他們都有前者,所以必須有一個原因。我更喜歡後者,因爲它使我的文件樹在ol眼球上更容易一點。

無論如何,只是因爲有效的東西並不意味着它是正確的,所以我想知道什麼是正確的,爲什麼。

回答

6

雖然理查德赫爾斯提供了事實和有用的信息,它沒有解決被問到的具體問題

我已經確定,即使沒有出現被 .scss.css.scss之間的技術差異, 是正確的約定命名您的SCSS文件包含的.css以及( as mentioned in this Tweet)。

更新2013年5月31日:我認爲這將繼續接收不必要的downvotes沒有任何實質性的意見,但這是絕對正確的答案,我原來的問題。

更新2016年8月27日:對於任何磕磕絆絆在此,看來這個討論不再有效爲Rails V5 +和鏈輪V3.0 +(見SASS Rails commit d355de9 on GitHub)。生成一個新的Rails應用程序將創建只有.scss擴展名(不是.css.scss)的SCSS文件。

+0

對於我來說,@理查德赫爾斯解釋得很好。您應該使用.css.scss擴展名,因爲這些文件需要由sass處理。之後它將被用作一個css文件。它是否仍然沒有CSS部分是無關緊要的,正如在twitter上所顯示的那樣,這個慣例。 – DavidDraughn

+0

誠然,他解釋說擴展鏈調用它們各自的處理器,但這不是問題。問題是爲什麼只有SASS處理器是唯一被調用的時候才包含'.css'。我的回答正好解決了我原來的問題。 –

+0

我不明白爲什麼人們會對自己的答案進行投票。它正確而具體地回答了我最初提出的確切問題。 –

4

正確的方法是僅在您要將某種處理器應用於文件時才使用擴展名。處理按照擴展名從右到左的順序應用。

標籤爲.css的文件只是一個普通的舊css文件。

標記爲.css.erb的文件是一個文件,它將作爲erb處理,然後視爲CSS。

文件.css.scss.erb將應用兩種類型的處理。首先是ERB,然後是SCSS。

如果您不在文件或SCSS中使用ERB,那麼您不需要添加任何額外的擴展名。

注意:如果您需要在CSS中引用圖像,則必須使用SCSS或ERB,因爲它們具有在資產管道中使用時生成正確URL的幫助器方法。

+1

關於添加擴展程序以添加預處理,以及您希望應用它們的順序,您是正確的。但是這並不能回答在文件名中留下原始'.css'的問題。澄清:僅使用'.scss'擴展名有什麼問題? –