2016-05-29 5 views
0

gulp-bower-normalizeを使用して、異なるタイプのファイルをあるディレクトリから別のディレクトリにコピーできますか?gulp-bower-normalizeを使用して、すべてのファイルを1つのディレクトリにコピーします。

私はこのようにすることができると思ったが、ファイル拡張子に基づいてすべてのフォントをディレクトリにコピーするだけだ。

"overrides": { 
    "font-awesome": { 
     "main": [ 
      "css/font-awesome.min.css", 
      "fonts/*" 
     ], 
     "normalize": { 
      "fonts": "fonts/*.*" 
     } 
    } 
} 

そしてmainから"fonts/*"を削除するだけで、CSSをコピーします。

PS:私はgulp.src()gulp.dest()でこれを行うことができますが、私は "ノーマライズウェイ"について不思議でした。

答えて

0
//- gulpfile.js file 
var bower = require('main-bower-files'); 
var bowerNorm = require('gulp-bower-normalize'); 
var DEST = './build/'; 

gulp.task('default', function() { 
    return gulp.src(bower(), { base: './path/to/bower_components'}) 
    .pipe(bowerNorm({ flatten: true })) 
    .pipe(gulp.dest(DEST)); 
}); 

//- bower.json file 
"overrides": { 
    "font-awesome": { 
    "main": [ 
     "css/font-awesome.min.css", 
     "fonts/*" 
    ], 
    "normalize": { 
     "fonts": [ "*.eot", "*.svg", "*.ttf", "*.woff", "*.woff2" ] 
    } 
    } 
} 

上記はあなたの問題を解決するはずです。依存キー(この場合は"font-awesome")の下のnormalizeキーを使用すると、作成しようとしているフォルダ名が子キー("fonts")になります。そのキーの値は、そのディレクトリに配置するファイルの種類です。したがって、上記の解決策では、依存関係を正規化するときに"*.eot","*.svg","*.ttf","*.woff"および"*.woff2"ファイルを"fonts"ディレクトリに入れたいとしています。

上記のコードの結果はこれを次のようになります。

build/ 
├── css/ 
│   └── font-awesome.min.css 
└── fonts/ 
   ├── some-font-file.eot 
   ├── some-font-file.svg 
   ├── some-font-file.ttf 
    ├── some-font-file.woff 
    └── some-font-file.woff2 

は私がさらに明確にできるかどうか私に教えてください。

関連する問題