使用webpack获取git-revision哈希

时间:2016-02-02 09:59:11

标签: webpack git-revision

我正在尝试使用webpack创建存档,后缀为git-revision。你能告诉我,有什么好办法吗?

2 个答案:

答案 0 :(得分:21)

你可以用这种方式在webpack中获得git修订版:

var childProcess = require('child_process'),
VERSION = childProcess.execSync('git rev-parse HEAD').toString();

答案 1 :(得分:3)

您可以将git-rev,arciverjs和on-build-webpack插件用于这些目的

https://www.npmjs.com/package/git-rev

http://archiverjs.com/docs/

https://www.npmjs.com/package/on-build-webpack

var childProcess = require('child_process'),
    VERSION = childProcess.execSync('git rev-parse HEAD').toString();

var WebpackOnBuildPlugin = require('on-build-webpack');

var plugins = [
  //...
  new WebpackOnBuildPlugin(function(stats) {
    var fs = require('fs');
    var archiver = require('archiver');

    var output = fs.createWriteStream(__dirname + '/' + VERSION + '-example.tar');
    var archive = archiver('tar');

    output.on('close', function() {
      console.log(archive.pointer() + ' total bytes');
      console.log('archiver has been finalized and the output file descriptor has closed.');
    });

    archive.on('error', function(err) {
      throw err;
    });

    archive.pipe(output);

    archive.bulk([
      { expand: true, cwd: 'source-dir/', src: ['*.*'] }
    ]);

    archive.finalize();
  })
];

以下是webpack配置文件中的代码段,该文件将创建一个名称中包含修订的存档。要获得git修订版,您可以使用git-rev插件或来自@bolelamx的答案的代码片段