2017-10-05 39 views
1

对于使用Angular的应用程序,我们可以选择使用environment.ts来区分开发,测试和主控等不同的开发环境。假设我们必须掩盖一些元素,比如我们在不同环境中使用的数据库证书,这是我们以前使用的常规过程.gitignore这样的配置文件,这些配置文件在存储库中不可用。代码仓库中的环境文件与Git忽略

任何人都可以建议这是什么标准的这种方式 我们是否保持git忽略文件或使用环境文件的角度?

+1

我认为在客户端代码中保留任何敏感信息是一个坏主意,因为它将被发送到用户的浏览器,因此可供他们使用。此外,为什么要将数据库凭证放在用户界面中?您的所有敏感信息都属于您的后端,并保护在您控制的服务器上。 – GreyBeardedGeek

回答

0

没有一种标准的方式来处理环境之间的差异。不同的方法有不同的优缺点。

如果仅使用.gitignore,那么您会放弃环境特定设置的版本控制(或者必须找到获得此类版本控制的外部回购方式)。另外每个克隆都必须配置一组配置文件。

如果您仅使用environment.ts,则任何可以阅读回购的人都可以使用任何配置文件中使用的任何环境的任何密码。

像.gitignore这样的源代码控制机制,像environment.ts这样的框架功能,以及构建工具功能(如Maven中的资源过滤)都可以在满足您的需求的解决方案中发挥有用的作用,需要你的项目。