bootstrap 防止空的Sass变量创建空的CSS变量

aemubtdh  于 5个月前  发布在  Bootstrap
关注(0)|答案(8)|浏览(141)

先决条件

描述问题

我尝试在没有任何更改的情况下编译Bootstrap的SCSS。它可以正常编译,但会产生有15个缺失值的损坏CSS。
例如这个:
--bs-heading-color: ; 在第71行
使用Dart-Sass 1.52.3进行编译
实际上,已经编译好的CSS,它位于 bootstrap-5.2.0-beta1.zip 和最新的 bootstrap-main.zip 文件中也包含这种损坏的CSS。
从5.1.3版本的Scss在同一设置下可以正确编译CSS。

简化的测试用例

尝试使用最小化的custom.scss文件进行编译:
@import "../node_modules/bootstrap/scss/bootstrap";

oknrviil

oknrviil1#

这并不是完全坏掉的,而是Sass变量是null,并且不会编译成任何东西。这在我们正常的属性使用中效果很好(Sass在编译过程中会删除property: null这一行),但在CSS变量中效果不佳。我们可能需要在未来添加一个手动检查这些东西的功能。
#35442试图尝试这样做,但我对每个示例上的额外语法并不太感兴趣。

nfeuvbwi

nfeuvbwi2#

FWIW,这是有效的CSS。🤷
唯一潜在的问题是关于行为的可预测性,因为每个属性都会继承一些属性不会(但再次强调,当你不提供任何值时,这是标准行为)。
删除它们会稍微减小文件大小,但我不确定它是否会明显。

btxsgosb

btxsgosb3#

FWIW,这是有效的CSS。🤷
唯一潜在的问题是关于行为的可预测性,因为每个属性都会继承一些不会(但再次强调,当你不提供任何值时,这是标准行为)。
删除它们会稍微减小文件大小,但我不确定它是否会明显。
我在这里最大的问题是,由于缺少值,我的IDE认为编译后的CSS是损坏的,因此由于这个原因,后续的压缩任务没有运行。

cclgggtu

cclgggtu4#

然后,这些都是IDE、linter和minifier中的bug。
尽管如此,这些空的自定义属性是无用的,应该删除以防止混淆并节省一些字节。

jei2mxaa

jei2mxaa5#

亲爱的@julien-deramond
这个问题什么时候能解决?
当问题被关闭时,你就会知道它已经被解决了;)

lc8prwob

lc8prwob6#

在"(属性) : (值)"声明中缺少属性值。
使用编译后的Bootstrap 5.2.3 在文件bootstrap.css中:

bootstrap.css -> Line: 4194	
bootstrap.css -> Line: 2807	
bootstrap.css -> Line: 3532	
bootstrap.css -> Line: 3646	
bootstrap.css -> Line: 3820	
bootstrap.css -> Line: 4199	
bootstrap.css -> Line: 4200	
bootstrap.css -> Line: 4201	
bootstrap.css -> Line: 4508	
bootstrap.css -> Line: 4509	
bootstrap.css -> Line: 5210	
bootstrap.css -> Line: 5277	
bootstrap.css -> Line: 5291	
bootstrap.css -> Line: 5569	
bootstrap.css -> Line: 5680	
bootstrap.css -> Line: 6096
bqjvbblv

bqjvbblv7#

这仍然是Bootstrap 5.3.2中的问题。我试图使用less,但由于值为空而失败。

kninwzqo

kninwzqo8#

关于这个问题,有任何更新或已知的修复方法吗?我正在使用LibSass和.nav-link编译Bootstrap 5.3.2,但是由于--bs-nav-link-padding-y--bs-nav-link-padding-x没有设置,导致编译中断。

相关问题