2016-10-22 20 views
0

私はこのようなディレクトリ構造を持っています。gulp cleanが正しく機能していません

dist 
|--client 
    |--assets 
     |--images 
    |--bower_components 
|--server 
|--.bower.json 

アセット/イメージフォルダ以外のdistフォルダをクリーンアップしようとしています。

しかし、このコマンドをdryRunモードで実行すると、アセット/イメージファイルは削除されません。しかし、それを無効にすると、すべてのファイルとフォルダが削除されます。使用済みの定数の

gulp.task('clean:dist',() => { 
    del.sync([ 
    `${paths.dist}/!(.git*|.openshift|Procfile)**`, 
    `${paths.dist}/client/**`, 
    `!${paths.dist}/client/assets`, 
    `!${paths.dist}/client/assets/**`], { 
    //dryRun: true 
    }); 
    //console.log('dELETE FIELSE ARE: ' + JSON.stringify(value)); 
}); 

値は次のとおりです。次

${paths.dist} ='dist'; 

答えて

1

offical del documentation状態:

グロブパターン**一致するすべての子どもと親。

だから、これは動作しません。

del.sync(['public/assets/**', '!public/assets/goat.png']); 

あなたが明示的にあまりにも親ディレクトリを無視する必要があります。dist/clientディレクトリ自体を含む、あなたがdist/client/**を削除し、あなたの場合は

del.sync(['public/assets/**', '!public/assets', '!public/assets/goat.png']); 

を。 dist/client/assets/**を無視すると、dist/clientディレクトリは削除されます。

gulp.task('clean:dist',() => { 
    del.sync([ 
    `${paths.dist}/!(.git*|.openshift|Procfile)**`, 
    `${paths.dist}/client/**`, 
    `!${paths.dist}/client`, 
    `!${paths.dist}/client/assets/**`]); 
}); 
+0

パーフェクト:

は、明示的dist/clientディレクトリを無視する必要があります。ありがとう:) –

関連する問題