gulp-uncss删除使用javascript

时间:2016-04-10 16:47:11

标签: javascript html css gulp gulp-uncss

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中的类添加此注释是没有意义的

2 个答案:

答案 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,这就是我遇到你的问题时所寻找的。