Gulp压缩CSS会剥离SCSS文件中的注释

9
我正在尝试成为一个好孩子,并使用gulp来压缩我的css。我目前正在使用gulp-sass(而不是gulp-ruby-sass),它似乎没有内置的压缩功能。所以现在我正在使用gulp-minify-css将一些压缩管道引入我的编译中。问题是它现在剥夺了我所有的注释,包括 /*注释*///注释。这并不理想,因为我需要最初的注释来设置我的WordPress主题。
所以我查看了文档(https://github.com/jonathanepollack/gulp-minify-css/wiki),发现有一个名为keepSpecialComments的选项可以解决这个问题。
所以我在我的gulpfile中尝试了以下内容:
.pipe(minifycss({keepSpecialComments: '*'}))

并且

.pipe(minifycss({keepSpecialComments: *}))

第一个仍然会去掉注释,第二个会报错。所以我想可能是格式出了问题?有人能在这里帮帮我吗?
谢谢。
1个回答

19

你给出的第二个示例中星号*单独存在,不是字符串。这就是为什么会报错的原因。

文档说明默认设置是保存所有特殊注释。如果你点击链接clean-css,你会看到特殊注释指的是带有感叹号(!)以表明其重要性的注释。试着将你的注释改成这样,我敢打赌它会在没有任何配置的情况下保留下来。

/*!
put your settings here
*/
如果由于某些原因WordPress无法使用特殊注释,则可以使用gulp-replace来在保存之前对注释进行更正,方法如下:
var replace = require('gulp-replace');

// ... sass, compress-css, etc ...
.pipe(replace('/*!', '/*'))
// ... gulp.dest, etc ...

这将从评论中删除感叹号。除非Wordpress出现问题,否则我不会费心去做这件事。


错过了特殊注释的部分。WordPress对此没有问题,因此一切都解决了。谢谢! - Malibur
我猜阅读文档是值得的。感谢您澄清这一点! - Devin Walker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接