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

Mal*_*bur 7 sass minify gulp

我想成为一个好孩子,并用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: '*'}))
Run Code Online (Sandbox Code Playgroud)

.pipe(minifycss({keepSpecialComments: *}))
Run Code Online (Sandbox Code Playgroud)

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

有人能帮我一下吗?

谢谢

Ove*_*ous 16

你在那里的第二个例子是星号*坐在外面 - 它不是一个字符串.这就是它报告错误的原因.

文档声明默认设置为保存所有特殊注释.如果单击以clean-css查看,您将看到特殊注释引用带有感叹号(!)的注释,以指出它们很重要.尝试将您的评论更改为这样,我敢打赌它会在没有任何配置的情况下保留它.

/*!
put your settings here
*/
Run Code Online (Sandbox Code Playgroud)

如果Wordpress由于某种原因无法使用特殊注释,那么您可以gulp-replace在保存之前用它来更正注释,如下所示:

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

// ... sass, compress-css, etc ...
.pipe(replace('/*!', '/*'))
// ... gulp.dest, etc ...
Run Code Online (Sandbox Code Playgroud)

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