我正在尝试使用webpack创建存档,后缀为git-revision。你能告诉我,有什么好办法吗?
答案 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
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的答案的代码片段