SCSS文件名
我已经在新的资产管道以及SASS和SCSS上找到了TON资源。但是有一个问题让我感到困惑:什么是命名CSS文件的正确方法?是.css.scss
,还是我不能只用.scss
?SCSS文件名
几乎在我见过的每个例子中,他们都有前者,所以必须有一个原因。我更喜欢后者,因为它使我的文件树在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文件。
正确的方法是仅在您要将某种处理器应用于文件时才使用扩展名。处理按照扩展名从右到左的顺序应用。
标签为.css的文件只是一个普通的旧css文件。
标记为.css.erb的文件是一个文件,它将作为erb处理,然后视为CSS。
文件.css.scss.erb将应用两种类型的处理。首先是ERB,然后是SCSS。
如果您不在文件或SCSS中使用ERB,那么您不需要添加任何额外的扩展名。
注意:如果您需要在CSS中引用图像,则必须使用SCSS或ERB,因为它们具有在资产管道中使用时生成正确URL的帮助器方法。
关于添加扩展程序以添加预处理,以及您希望应用它们的顺序,您是正确的。但是这并不能回答在文件名中留下原始'.css'的问题。澄清:仅使用'.scss'扩展名有什么问题? –
对于我来说,@理查德赫尔斯解释得很好。您应该使用.css.scss扩展名,因为这些文件需要由sass处理。之后它将被用作一个css文件。它是否仍然没有CSS部分是无关紧要的,正如在twitter上所显示的那样,这个惯例。 – DavidDraughn
诚然,他解释说扩展链调用它们各自的处理器,但这不是问题。问题是为什么只有SASS处理器是唯一被调用的时候才包含'.css'。我的回答正好解决了我原来的问题。 –
我不明白为什么人们会对自己的答案进行投票。它正确而具体地回答了我最初提出的确切问题。 –