Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Angular2/Ionic/Heroku进行清洁环境管理?_Angular_Heroku_Ionic Framework_Ionic2_Environment Variables - Fatal编程技术网

使用Angular2/Ionic/Heroku进行清洁环境管理?

使用Angular2/Ionic/Heroku进行清洁环境管理?,angular,heroku,ionic-framework,ionic2,environment-variables,Angular,Heroku,Ionic Framework,Ionic2,Environment Variables,在我的Python后端,我有一个非常干净的环境管理,比我希望在前端部分复制的环境管理更干净 后端 我只有一个设置文件,由环境变量提供。 这些环境变量在本地的.env文件中定义,在登台/prod环境中直接在Heroku接口中定义 环境文件不会推送到git存储库。这使得任何人都无法访问/使用生产敏感变量,并且在环境配置中可能会犯错误。只有访问Heroku的人才能访问这些敏感值 离子/角度前端 我想创造同样的行为,这对我来说似乎是完美的。 但是从中可以看出,默认的方法是为每个环境创建一个.ts文件 有

在我的Python后端,我有一个非常干净的环境管理,比我希望在前端部分复制的环境管理更干净

后端

我只有一个设置文件,由环境变量提供。 这些环境变量在本地的
.env
文件中定义,在登台/prod环境中直接在Heroku接口中定义

环境文件不会推送到git存储库。这使得任何人都无法访问/使用生产敏感变量,并且在环境配置中可能会犯错误。只有访问Heroku的人才能访问这些敏感值

离子/角度前端

我想创造同样的行为,这对我来说似乎是完美的。 但是从中可以看出,默认的方法是为每个环境创建一个.ts文件

有没有想过要有一个干净的环境设置?谢谢。

如您在该博客/指南中所看到的,没有大的解决方法,每个angular应用程序至少有一个环境文件(angular cli标准)。Angular更喜欢在项目根目录中维护其所有代码库,以保持自包含

如果每个应用程序有一个.env太多,您可以在应用程序中的某个位置硬编码一个永久的.env文件,但是在编译期间这些信息将不可用,并且可能会在以后导致问题


这有很多缺点,包括可能无法访问main.env文件。Angular的一部分好处是,你可以拥有整个应用程序所需的一切。我强烈建议您尝试为每个应用程序使用一个环境,即使这需要为每个应用程序使用全局环境文件的副本粘贴。

我建议您查看此解决方案,以避免在存储库中硬编码您的环境:


而且在第一次响应中,它引入了一个动态解决方案来在构建时创建环境文件:

按照这种方式,我对安全性感到厌倦,因为我的Github repo将包含prod环境中的所有敏感值。如果我决定不将这些值推送到Github,那么我就不能使用相同的代码库来部署到Heroku(再见,再见,自动部署Github->Heroku-。看来我已经完蛋了。^^^这就是为什么Github强制所有免费回购都公开的原因之一。如果你花了$$,你可以得到一个私人回购,而且没有任何问题。作为environment.ts的替代方案,你可以使用env vars创建一个外部json文件,并在sin中读取它。)应用程序加载上的gleton服务。