Web applications 如何更改web应用程序的配置

Web applications 如何更改web应用程序的配置,web-applications,configuration,gruntjs,gulp,Web Applications,Configuration,Gruntjs,Gulp,我的web应用程序依赖于一些外部服务,并且在源代码中硬编码了API访问键值 现在我想支持多种环境,如开发和生产环境。对于每个环境,我希望使用具有不同密钥的不同服务集 问题是在切换环境时如何更改源代码中的键 作为一个显而易见的解决方案,我可以想到一个脚本,它使用环境变量修补文件。但有了围绕web开发的现代工具和技术,我认为必须有更优雅的解决方案。我听说了grunt,但没有找到合适的插件。我最终根据评论中的建议找到了一个解决方案。 我创建了包含所有设置变量的settings.ENV.js文件,其中E

我的web应用程序依赖于一些外部服务,并且在源代码中硬编码了API访问键值

现在我想支持多种环境,如开发和生产环境。对于每个环境,我希望使用具有不同密钥的不同服务集

问题是在切换环境时如何更改源代码中的键


作为一个显而易见的解决方案,我可以想到一个脚本,它使用环境变量修补文件。但有了围绕web开发的现代工具和技术,我认为必须有更优雅的解决方案。我听说了grunt,但没有找到合适的插件。

我最终根据评论中的建议找到了一个解决方案。 我创建了包含所有设置变量的settings.ENV.js文件,其中ENV是prod、dev、test等

然后要更改环境,只需将其中一个tese文件复制到settings.js,该文件包含在客户端代码中。为了方便起见,我做了一个grunt任务来复制:

grunt use:dev

这些硬编码的密钥是在服务器端还是在客户端?总之,为什么不使用一个配置文件,其中包含一个具有所需密钥的普通对象?客户端。配置文件是什么意思?举个例子会很有帮助的。谢谢,这可能有用。但我不需要每个环境都有一个全新的文件。我只需要换几行。我不喜欢将依赖于环境的文件保存在存储库中。我更希望有一个通用代码库,它从环境变量导入设置。