繁体   English   中英

Github使用Javascript或React.js提交哈希

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM