Javascript 如何在build-Webpack上向我的项目添加git哈希

Javascript 如何在build-Webpack上向我的项目添加git哈希,javascript,node.js,webpack,Javascript,Node.js,Webpack,我想访问一些关于我的项目的信息,以便进行测试。例如,我想在我的一个请求上附加git哈希或安装的模块版本作为参数。我想到的(有效的)方法是在我的package.json中包含一个预构建脚本 "prebuild": "node scripts/prebuild.js" 在剧本里 var fs = require('fs'); var child_process = require('child_process'); const revision = child_process .execSy

我想访问一些关于我的项目的信息,以便进行测试。例如,我想在我的一个请求上附加git哈希或安装的模块版本作为参数。我想到的(有效的)方法是在我的
package.json中包含一个预构建脚本

"prebuild": "node scripts/prebuild.js"
在剧本里

var fs = require('fs');
var child_process = require('child_process');

const revision = child_process
  .execSync('git rev-parse HEAD')
  .toString().trim()

const module_version = child_process
  .execSync('npm view module version')
  .toString().trim()

const params = `module.exports = {
  git_hash: '${revision}',
  module_version: '${module_version}'
};`

fs.writeFileSync(__dirname + '/../src/helpers/params.js', params, () => {
  console.log('Prebuild finished');
});
然后在需要的地方导入该文件

import params from './src/helpers/params';

然而,这对我来说似乎有点骇客,我想知道是否有一种方法可以利用webpack来帮助我以更好/更安全的方式实现这一点。

你希望webpack如何利用这一点?@Adam这就是我要问的。我试图确定是否有一种标准方法可以获得相同的结果(git哈希/模块信息在我的应用程序构建中可用)。它不一定需要涉及网页包。我对其他解决办法持开放态度。这只是我考虑的第一个可能的地方。既然你已经编写了脚本,我想不出有什么办法可以改进Webpack,因为它只能做你已经在做的事情。如果你自己进行了集成,它可能会提供哈希和模块版本作为全局文件,在你的应用程序中的任何地方都可以使用。无论是否使用webpack,都没有其他方法可以做到这一点。你所做的就是要走的路。