3

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 には存在しないクラスに対して毎回このコメントを追加するのは意味がありません

4

2 に答える 2

4

おそらく、js widh のみを使用してすべてのクラスにプレフィックスを付け、gulpis-タスクで正規表現を使用して無視オプションを追加できます。

gulp.task('uncssme', function () {

return gulp.src('src/css/**/*.css')
    .pipe(uncss({
        html: ['src/**/*.html'],
        ignore: [^\.is-.*]
    }))
    .pipe(gulp.dest('dist/css'))
});
于 2016-04-11T14:25:26.697 に答える
1

私は Uncss で同じ問題を抱えていましたが、これを機能させる唯一の方法は、コメントを無視することです。これは、優れた解決策とは考えられません。

purifycss プラグイン ( https://www.npmjs.com/package/gulp-purifycss/ ) を試すことをお勧めします。html ファイルと js ファイルの両方を設定すると、css が uncss-ed または purify-ed になり、問題が発生したときに探していたものでした。

于 2016-04-11T14:25:25.040 に答える