繁体   English   中英

Gulp.js-在文件开头插入项目详细信息

[英]Gulp.js - Inject project details at the beginning of the file

在我的JavaScript文件的开头,我有一条注释,承载着这样的项目详细信息:

// { project name } 
// { project website }
// { author }

例如它应该看起来像这样

/// FoobarProject 2.0.1
/// www.foobar.com/foobarproject
/// John Doe <john.doe@hotmail.com>
;(function(){
   //...
 }());

将这些详细信息与我的package.json对齐的最佳方法是什么? 因此,当我在package.json中更新版本并执行“生成”任务时,gulp应该更新该版本。

我不喜欢有两个文件的想法:

  1. 使用占位符的文件“ A”(例如{{version}})
  2. 文件“ B”是构建过程的结果,在该过程中,占位符被填充了值。

我更喜欢构建任务直接替换文件中的值的方法。 此外,在执行minifier(uglify)之后,该注释应加前缀。

所以我的问题可以归结为:实现“ replaceFirstThreeLinesWith”的最佳方法是什么:

gulp.task('inject-projectdetails', function(){

    var header = [ 
        util.format('// FoobarModule.js %s', pkg.version), 
        util.format('// %s', pkg.homepage),
        util.format('// %s', pkg.author),
        ].join('');

    return gulp.src('FoobarModule.js')
        .pipe( replaceFirstThreeLinesWith(header) )
        .pipe(gulp.dest('.') );
});

您可以使用gulp-header插件: https : //www.npmjs.com/package/gulp-header

暂无
暂无

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

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