在GitHub上签入后自动更改文件的最佳实践

在GitHub上签入后自动更改文件的最佳实践,git,github,githooks,semaphore-ci,Git,Github,Githooks,Semaphore Ci,我们有两个环境。这段代码不能使用环境变量,因为它是客户端JavaScript 我们需要根据环境更改对象中的键。我不想使用if语句,因为代码中有多个位置 我只需要在信号量CI部署环境中更改它。 我认为post-commit-hook可能是最好的方法,只需在其中运行一个命令行工具,比如sed,就可以执行%s/my\u-local\u-web/my\u-staging\u-web/g。我愿意接受任何建议或其他思考方式。大概您是在用网页包或包裹之类的东西包装前端代码?这两种工具(及其大多数竞争对手)都支

我们有两个环境。这段代码不能使用环境变量,因为它是客户端JavaScript

我们需要根据环境更改对象中的键。我不想使用if语句,因为代码中有多个位置

我只需要在信号量CI部署环境中更改它。
我认为post-commit-hook可能是最好的方法,只需在其中运行一个命令行工具,比如
sed
,就可以执行
%s/my\u-local\u-web/my\u-staging\u-web/g
。我愿意接受任何建议或其他思考方式。

大概您是在用网页包或包裹之类的东西包装前端代码?这两种工具(及其大多数竞争对手)都支持特定于环境的配置:


关键是环境变量必须在构建时提供,而不是在运行时提供。它们被编译到工具的输出中。

嘿,克里斯!我们实际上使用了TypeScript编译器,所以不使用parcel或webpack,但如果这是最好的方法,我会让它工作以启用它。@jQwierdy,那么我认为您必须添加另一个工具。据我所知,TypeScript本机不支持构建时环境变量。但是它。今天,Webpack可能是使用最广泛的选项,但它不是你唯一的选择。