在SCSS文件中,哪个输出样式(nested, expanded, compact or compressed)将从最终的CSS中删除多行(/* I'm a comment. */
)注释?
答案 0 :(得分:11)
:compressed
是唯一的输出样式,它将从最终呈现的CSS中删除多行(/* ... */
)注释。
此外,:compact会将多行注释转换为最终CSS中的单行。使用:嵌套和:展开,所有多行注释及其换行符都在最终的CSS中呈现。
例如,这个SCSS:
// SL Comment
/* ML Comment1
Whoop. */
//! SL w/ bang
/*! ML Comment2
Whoop. */
对于每种不同的输出样式,将成为以下CSS:
嵌套:
/* ML Comment1
Whoop. */
/* ML Comment2
Whoop. */
展开:
/* ML Comment1
Whoop. */
/* ML Comment2
Whoop. */
紧凑:
/* ML Comment1 Whoop. */
/* ML Comment2
Whoop. */
压缩:
/* ML Comment2
Whoop. */
使用!
开始发表评论只会影响:compressed
模式下的多行评论,否则这些评论会从最终的CSS中删除。
答案 1 :(得分:1)
即使输出样式为“压缩”,我也无法删除多行注释,而sass / scss文档也表明它们未被删除(仅删除带有“//”的单行注释)
我的解决方案是在sass生成最终输出后,简单地应用Perl one-liner手动删除.css文件中的注释:
sass -fCE utf-8 -t compressed application.sass application.css
perl -pi -e'BEGIN{$/=undef}s#/\*.*?\*/##gs' application.css
答案 2 :(得分:0)
遗憾的是,我无法对接受的答案进行投票或评论。按照文档的说法,所写的和接受的内容是不真实的。 Sass只删除单行代码并保留多行注释。
Sass支持使用/ * * /的标准多行CSS注释,以及带//的单行注释。多行注释尽可能保留在CSS输出中,同时删除单行注释。