使用gulp-bower-normalize将所有文件复制到一个目录

时间:2016-05-29 19:32:51

标签: gulp bower

我可以使用gulp-bower-normalize将不同类型的文件从一个目录复制到另一个目录吗?

我认为我可以这样做,但它只是根据文件扩展名将所有字体复制到目录中。

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

"fonts/*"中删除main只会复制css。

PS:我知道我可以通过gulp.src()gulp.dest()来做到这一点,但我想知道“正常化方式”。

1 个答案:

答案 0 :(得分: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" ]
    }
  }
}

以上应该可以解决您的问题。当您在依赖项键下使用normalize键时(在本例中为"font-awesome"),子键("fonts")表示您尝试创建的文件夹名称。该键的值是要放在该目录中的文件类型。因此,在上述解决方案中,我们希望将"*.eot""*.svg""*.ttf""*.woff""*.woff2"文件放入{{1我们规范化依赖项时的目录。

上述代码的结果如下:

"fonts"

如果我能进一步澄清,请告诉我。