繁体   English   中英

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

[英]Use gulp-bower-normalize to copy all files to one directory

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

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

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

main删除"fonts/*"将仅复制css。

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

//- 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

让我知道是否可以进一步澄清。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM