使用 webpack 获取 git-revision hash

Getting git-revision hash with webpack

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

您可以将 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 插件或@boleamx

的答案中的代码片段

您可以通过以下方式在 webpack 中获取 git 修订版:

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