gulp-uncss的gulp配置是
gulp.task('uncssme', function () {
return gulp.src('src/css/**/*.css')
.pipe(uncss({
html: ['src/**/*.html']
}))
.pipe(gulp.dest('dist/css'))
});
使用uncss从最终的css文件中删除'newClass'选择器,因为该类不直接在.html文件中使用,而是通过js动态添加。
document.getElementById('good').className += ' newClass';
编辑: 我已经在使用/ * uncss:ignore * /来使它工作但是每次为.js中存在但没有在.html中的类添加此注释是没有意义的
答案 0 :(得分:4)
也许,您可以仅使用js widh is-
为每个类添加前缀,并在gulp任务中添加带有正则表达式的ignore选项。
gulp.task('uncssme', function () {
return gulp.src('src/css/**/*.css')
.pipe(uncss({
html: ['src/**/*.html'],
ignore: [^\.is-.*]
}))
.pipe(gulp.dest('dist/css'))
});
答案 1 :(得分:1)
我在使用Uncss时遇到了同样的问题,只有这样才能让这个工作正在使用忽略注释,这不是我认为是很好的解决方案。
我建议您尝试使用purifycss插件(https://www.npmjs.com/package/gulp-purifycss/)。 你可以设置html和js文件然后css是unss-ed或purify-ed,这就是我遇到你的问题时所寻找的。