簡體   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