2016-09-27 8 views
0

私はgulp uncssを使用しています。これは私のタスクコードです:私は上記の一気タスクを通じてコードを実行したらgulp uncssが予期せず「無視された」クラスをいくつか削除しました

gulp.task('uncss',() => { 
    return gulp.src($uncss.src) 
    .pipe(uncss({ 
     html: JSON.parse(require('fs').readFileSync('./sitemap.json', 'utf-8')), 
     ignore: [/\.no-\w+/g, /\.is-\w+/g, /\.plyr\w+/g, /\.lazy\w+/g, /\.\w+\s?\.is-\w+/g] 
    })) 
    // .pipe(cssnano()) 
    .on('error', handleErrors) 
    .pipe(gulp.dest($uncss.dest)) 
}); 

次の行

.is-menu-open .menu__btn span:before, .is-menu-open .menu__btn span:after { 
    background-color: #000; 
} 

は、としてコンパイルされます。

.is-menu-open .menu__btn span:before { 
    background-color: #000; 
} 

私の正規表現のスキルには欠けているものがいくつかあります。

本来、セレクタ内の任意の場所にある.is-のクラスを無視する必要があります。 documentationによると

+0

私はuncss'は '/ \として、regexsのグローバルフラグをキャッチされていない'感じています。IS- \ +/G' wのことをキャッチする必要があります。 '.is-menu-open'クラス全体を指定するのは動作しますか?また、(あなたのCSS上で)無視するインラインであなたのために働くでしょうか? '/ * uncss:ignore * /' – HNeiva

+0

私はhttps://regex101.com/の式をテストしていましたが、期待どおりに一致していました。私は '/ * uncss:ignore * /'について知りませんでしたが、それは渦を与えるでしょう。ありがとう – magicspon

答えて

1

:無視してigno​​reSheetsオプションについて

正規表現は引用符でラップする必要があります。

{"ignore": [ ".unused", "/^#js/" ]}

+0

あなたが提供した例は、 'uncssrc'オプションを使ってjsonファイルからオプションを読み込む場合のみです。これは、 'ignore'オプションを使用している場合には当てはまりません。 – ivn

関連する問題