SCSS文件名

问题描述:

我已经在新的资产管道以及SASS和SCSS上找到了TON资源。但是有一个问题让我感到困惑:什么是命名CSS文件的正确方法?是.css.scss,还是我不能只用.scssSCSS文件名

几乎在我见过的每个例子中,他们都有前者,所以必须有一个原因。我更喜欢后者,因为它使我的文件树在ol眼球上更容易一点。

无论如何,只是因为有效的东西并不意味着它是正确的,所以我想知道什么是正确的,为什么。

虽然理查德赫尔斯提供了事实和有用的信息,它没有解决被问到的具体问题

我已经确定,即使没有出现被 .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

我不明白为什么人们会对自己的答案进行投票。它正确而具体地回答了我最初提出的确切问题。 –

正确的方法是仅在您要将某种处理器应用于文件时才使用扩展名。处理按照扩展名从右到左的顺序应用。

标签为.css的文件只是一个普通的旧css文件。

标记为.css.erb的文件是一个文件,它将作为erb处理,然后视为CSS。

文件.css.scss.erb将应用两种类型的处理。首先是ERB,然后是SCSS。

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

注意:如果您需要在CSS中引用图像,则必须使用SCSS或ERB,因为它们具有在资产管道中使用时生成正确URL的帮助器方法。

+1

关于添加扩展程序以添加预处理,以及您希望应用它们的顺序,您是正确的。但是这并不能回答在文件名中留下原始'.css'的问题。澄清:仅使用'.scss'扩展名有什么问题? –