SASS部分:生存还是毁灭

SASS部分:生存还是毁灭,sass,code-organization,Sass,Code Organization,有什么真正的原因使我更喜欢sass部分文件而不是普通sass文件(文件名中没有前导下划线) 我不是一个全职的前端开发人员,现在我使用sass来简单地组织我的css-将样式拆分为不同的文件(模块/组件)、变量、函数、就地计算、混合-我想我所做的就是这些 通常,我创建一个mainsass文件,将所有文件组合在一起,如下所示: // main.scss @import 'vars' @import 'funcs' @import 'layout' @import 'component/modal'

有什么真正的原因使我更喜欢sass部分文件而不是普通sass文件(文件名中没有前导下划线)

我不是一个全职的前端开发人员,现在我使用sass来简单地组织我的css-将样式拆分为不同的文件(模块/组件)、变量、函数、就地计算、混合-我想我所做的就是这些

通常,我创建一个mainsass文件,将所有文件组合在一起,如下所示:

// main.scss

@import 'vars'
@import 'funcs'
@import 'layout'
@import 'component/modal'
// etc.
最近我注意到有一种叫做partials的东西。 从文档中我了解到,partials是独立的文件,它们本身并不存在,并且总是其他一些更大模块的一部分。 根据这一逻辑,vars.scsfuncs.scs很适合作为partials

我不明白的是为什么vars.scssvars.scss好。 从代码拆分的角度来看,这两种变体都能很好地工作

可能的原因是编译-部分不会编译到单独的css文件中。我不同意这是一个功能,因为它完全在我的控制之下,只取决于我如何配置我使用的构建工具。不管怎样,像变量/函数/mixin这样的sass内部事物永远不会直接转换为css——它们只存在于源代码中

所以我想了解一下,也许这只是一种将内部文件与其他文件进行视觉分离的惯例?您知道在编程中有一种类似的分离私有/公共成员/变量的旧做法。或者我只是错过了什么


请告诉我如何处理部分文件,如何处理普通文件,是否有第一个文件的优点?

在_vars.scss中的下划线使编译器知道它只能导入。所以它不会自己编译文件。如果您自动编译整个目录,则非常方便。此外,主文件和导入文件之间有一个直观的区别。如果在规则中使用
@use
@forward
,则可以为这些部分创建名称空间,例如
@include-utils.mymixin()
。如果您使用其他SASS库以及与您同名的帮助程序/实用程序,这可能会很有用。@jrswgtr感谢您的回复。所以,从你的解释来看,它听起来更像是“语法糖”。在编译的情况下,我认为为我的编译器添加“exclude:'.*.scss'”这样的全局规则没有问题/builder@eMontielG我以前从未使用过
@forward
@use
规则,但从文档页面和快速测试来看,这些规则并不局限于部分-它们也适用于普通sass文件。如果我是,请纠正我wrong@PavelSadchenko在某种程度上是这样的,但一些编译器已经将其作为约定使用,因此您不需要添加“全局规则”。他们会忽略并且不会编译一个以
开头的文件,这就是问题所在