使用gulp将信息写入文件顶部

时间:2016-04-18 17:36:02

标签: javascript gulp javascript-build gulp-insert

我一直在慢慢地将gulp整合到我的解决方案中。我正在使用盒式磁带来管理依赖项,现在我已经运行了bower,将缩小的文件复制到我们的源目录,在那里它们被引用(不想真正破坏旧引用),现在我需要手动插入相应的盒式磁带使用///引用每个文件的顶部,我无法弄清楚如何使用Gulp来完成它。我知道使用gulp-insert来执行此操作并使用prepend函数可能是最简单的。我还有一个文件及其依赖项的数组来循环。在这里吞咽很新,所以请保持温和,如果我还有其他方法可以构建它,请告诉我。

gulp.task('organizeDependencies', function() {
   for (var x = 0; x < dependencies.length; x++) {
       file(dependencies[x].file)
          .pipe(insert.prepend('/// <reference path="'+dependencies[x].dependency+'" />'));
   }
});

依赖关系数组如下所示:

var dependencies = [{
    'file': 'angular-resource.min.js',
    'dependency': 'angular.min.js',
},
{
    'file': 'angular-slick.min.js',
    'dependency': 'angular.min.js',
}];

我想我需要用Vinyl做一些事情来将文件传递到流中,但这对我来说仍然有点混乱。

感谢。

1 个答案:

答案 0 :(得分:0)

我想出了这个,并且会在这里为其他寻找解决方案的人提供答案。诀窍是我没有完全限定每个文件的路径,我需要调用src和dest来实际将文件写入正确的位置。

gulp.task('organizeDependencies', function () {
for (var x = 0; x < dependencies.length; x++) {
    gulp.src('Scripts/Lib/' + dependencies[x].file)
        .pipe(insert.prepend('/// <reference path="' + dependencies[x].dependency + '" />\n'))
        .pipe(gulp.dest('Scripts/Lib/'));
}

});