我可以使用gulp-bower-normalize将不同类型的文件从一个目录复制到另一个目录吗?
我认为我可以这样做,但它只是根据文件扩展名将所有字体复制到目录中。
"overrides": {
"font-awesome": {
"main": [
"css/font-awesome.min.css",
"fonts/*"
],
"normalize": {
"fonts": "fonts/*.*"
}
}
}
从"fonts/*"
中删除main
只会复制css。
PS:我知道我可以通过gulp.src()
和gulp.dest()
来做到这一点,但我想知道“正常化方式”。
答案 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"
如果我能进一步澄清,请告诉我。