[英]Github Commit Hash in Javascript or React.js
我正在尝试创建一个Javascript组件,将静态HTML元素Demo v0.1替换为缩短的GitHub Commit Hash,例如6da724d
<div className ="demo-version">
Demo v0.1
</div>
如何使用git rev-parse HEAD
编写JavaScript代码以使其正常工作?
IMO的最正确方法是分离编码(使用git)和部署阶段。 在部署期间,您可以对代码进行任何操作(例如替换字符串),并且修改后的代码不会使您的存储库混乱。
如果您坚持要在工作树的源文件中使用散列,则可以使用clean / smudge git过滤器进行关键字替换。
您可以使用bash脚本启动应用程序,并传递将包含git commit哈希的环境变量。 例如,React的一个简单脚本可能是
#!/usr/bin/env bash
set -e
HEAD_GIT_COMMIT="$(git rev-parse HEAD)" yarn start
然后,由于React使用node作为开发服务器,因此您可以通过process.env.HEAD_GIT_COMMIT
访问env var,尽管您可能需要编写一些配置,具体取决于所使用的捆绑器或CRA。
根据在不同服务器上部署应用程序的方式,可能需要调整脚本以使其在不同的环境下工作,但是您了解了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.