【问题标题】:Use gulp-bower-normalize to copy all files to one directory使用 gulp-bower-normalize 将所有文件复制到一个目录
【发布时间】:2016-05-29 19:32:51
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: gulp bower


    【解决方案1】:
    //- 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
    

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

    【讨论】:

      猜你喜欢
      • 2016-08-31
      • 2014-08-12
      • 1970-01-01
      • 2013-09-28
      • 2020-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多