2017-09-07 2 views
2

私のgulpワークフローにuncssを追加しようとしています。例えばJavaScriptで追加されたいくつかのクラスを、無視するgulp uncss - 正規表現経由で無視する

、私は(私の場合、私はjQueryプラグインのmagnific-ポップアップからCSSをuncssしようとしています)「無視」して、これらのクラスを宣言しています。

私のワークフローは次のようになりますし、すべてのmagnific-ポップアップCSSに一致するように正規表現を使用しています。

gulp.task("uncsstask",() => { 
gulp.src('original-mfp.css')  
.pipe(uncss({ 
    html: 
    [ 
     'page.html', 
    ], 
    ignore: [    
     /\.mfp-*.*/g, 
    ] 
})) 
.pipe(gulp.dest('new')); 
}); 

何happen'sするクラス

.mfp-container 

は、新しいCSSファイルにそれを作ることです、しかしクラス

.mfp-content 

はありません。

さまざまな正規表現チェッカーで正規表現をチェックしました。

答えて

0

は(それ以外の場合は、最初の試合の後に停止します)あなたの正規表現に「M」フラグを追加します。

/\.mfp-*.*/gm, 

、なぜその最初の*ありますか? 「.mfp」の後ろにダッシュが1つ以上あることがありますか?

[編集]:ドキュメントをもっと慎重に見てから、regexpフラグが必要でないことが判明し、OPは、問題を修正し、regexpに不要な*があるという私の他の提案を組み込んだことを示しました。私は私の答えを編集したので、この情報はコメントの中ではなく、答えの本体に入っています。だから使用:

/\.mfp-.*/ 
+0

ハイ&ありがとう! しかし、 "m"フラグの結果は同じままです。 – Lardo

+0

実際には、仕様を見ると、どのフラグも必要ではないと私は疑います。彼がregexpに旗が付いていないとしようとするとどうなりますか?それでも動作しない場合は、無視する両方のセレクタを使用するhtmlのサンプルスニペットが必要になります。 – Mark

+0

こんにちは - フラグのないregexpは実際には正しく動作します。 ありがとう! 正しい表現は '/ \。mfp - 。* /' – Lardo

関連する問題