gulp minify-css 删除 scss 文件中的注释

问题描述 投票:0回答:1

我正在努力做一个好孩子,并用 gulp 缩小我的 css。我目前正在使用 gulp-sass (不是 gulp-ruby-sass),它似乎没有内置的缩小功能。所以现在我使用 gulp-minify-css 在我的编译中进行一些缩小。问题是它现在删除了我所有的评论。

/*comment*/
//comment
。这并不理想,因为我需要初始评论来设置我的 WordPress 主题。

所以我查看了文档(https://github.com/jonathanepollack/gulp-minify-css/wiki),看起来有一个名为 keepSpecialComments 的选项。

所以我在我的 gulpfile 中尝试了以下操作:

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

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

第一个仍然删除了评论。第二个报告错误。所以我想我可能会格式错误?

有人可以帮我吗?

谢谢

sass minify gulp
1个回答
19
投票

你那里的第二个例子有星号

*
坐在外面 - 它不是一个字符串。这就是为什么它报告错误。

文档指出默认设置是保存所有 special 评论。如果您点击

clean-css
,您会看到特殊评论指的是带有感叹号(!
)的
评论,以表明它们很重要
。尝试将您的评论更改为如下所示,我敢打赌它会保留它而无需任何配置。

/*!
put your settings here
*/

如果 WordPress 由于某种原因无法使用特殊注释,那么您可以在保存之前使用

gulp-replace
更正注释,如下所示:

var replace = require('gulp-replace');

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

这将从评论中删除感叹号。除非 Wordpress 失败,否则我不会费心这样做。

© www.soinside.com 2019 - 2024. All rights reserved.