2016-04-10 3 views
3
を使用して追加されたクラスを削除

一気-uncssのための私の一気の構成は、最終的なCSSファイルからuncss削除し「newClass」セレクタを使用して一気-uncssではJavaScript

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

return gulp.src('src/css/**/*.css') 
    .pipe(uncss({ 
     html: ['src/**/*.html'] 
    })) 
    .pipe(gulp.dest('dist/css')) 
}); 

ですjsを介して動的に追加されました。

document.getElementById('good').className += ' newClass'; 

EDIT: 私はすでに使用しています/ * uncss:* /それを動作させるためにこれは.jsファイルに存在しなく.htmlを

でクラスのこのコメント毎回を追加しても意味がありません無視
+0

この疑問を落とした人は何らかの意味があります。コメントを追加して質問の改善に役立つものがない場合は、盲目的にdownvoteしないでください。 – myDoggyWritesCode

+0

downvoteはしませんでしたが、私はなぜ彼らが行ったのか分かります。 [ドキュメントを読む](https://github.com/addyosmani/grunt-uncss#usage-examples)、具体的には「特定のセレクタを無視する」の下のスニペットを読んだか? –

+0

私はすでに/ * uncss:ignore * /を使ってその無視しているものに従っています。また、問題追跡のレスポンスも完全に劣っています。また、新たに追加されたセレクタごとに無視することは、タスクを緩和するよりも不必要で負担になります。私はむしろ他のプラグインのために行くだろう。あなたが思うこと?より良いプラグインをお勧めします。 – myDoggyWritesCode

答えて

3

たぶん、あなたはis- widh JSにのみ使用してすべてのクラスのプレフィックスと一気タスクで正規表現とオプションを無視し追加することができます。

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

return gulp.src('src/css/**/*.css') 
    .pipe(uncss({ 
     html: ['src/**/*.html'], 
     ignore: [^\.is-.*] 
    })) 
    .pipe(gulp.dest('dist/css')) 
}); 
+0

ああいいです。ありがとう。私は以前の答えで提案されたようにpurifyjsを追加することにまだ何らかの問題があります。しかし、あなたのソリューションはまた、jsa(js added)のようなプレフィックスを付け加えることができます。 – myDoggyWritesCode

+0

私はちょうど正規表現を試しましたが、それはうまくいきませんでした。無視されたような奇妙ではあるが難しいコーディングリテラルがあります:['.is-newClass'] worked:P – myDoggyWritesCode

+1

正規表現は無視されます:[^ \。is - 。* ]、つまり、配列の中に引用符をつけません。その後、それは動作します。 – myDoggyWritesCode

1

私はUncssと同じ問題を抱えていたし、この作業を取得する唯一の方法は、私は偉大な解決策であること検討するものではありませんこれは、コメントを無視し使用しています。

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

+0

Aahありがとう。私はちょうど名前を知っていたが、それを完全に忘れてしまった。今、それを使用している間、私はTypeErrorを取得しています:未定義のプロパティ 'スライス'を読み取ることができません。しかし、私はそれを調べます。 :) – myDoggyWritesCode

+0

OK、そのエラーは解決されましたが、どこでも使用されていないクラスセレクタを削除するという単純なケースでも実行されていないようです。これがうまくいかない場合は、jsを通してクラスを追加しているかどうかをさらに確認することはできません。 – myDoggyWritesCode

+0

私一息です:gulp.task( 'purifycss'、機能(){ リターンgulp.src( 'SRC /バンドル/ CSS/**/* CSS') .pipe(/ SRC /バンドル '[(浄化しますJS/**/* JS'、 'SRC/**/* HTML'])) .pipe(gulp.dest( 'SRC /バンドル/ CSS')) })。 gulp.task( 'compile:css'、['clear:dist']、function(){ return gulp.src( './ src/static/scss)ここでは – myDoggyWritesCode