.env与environment.ts之间的Angular 6差异

时间:2019-04-07 01:30:49

标签: angular environment-variables angular6

我从https://mean.io生成了一个项目。但是我不确定(.env和.env.example)与(environment.ts和environment.prod.ts)之间有什么区别。

我应该在哪里存储所有配置数据,机密信息和密钥?

2 个答案:

答案 0 :(得分:2)

您应该将它们存储在环境中。

environment.ts 如果您在Angular项目中引用环境对象属性,则在开发模式(即serv或ng build)中,所有值均应从该文件中读取。

environment.prod.ts 在这种情况下,当您使用ng build --prod为生产模式构建应用程序时,environment.ts文件的所有值都将被environment.prod.ts文件覆盖。

以上变量与Angular应用程序有关。 .env和.env.example用于Laravel应用程序。

.env ,因为当您将项目推送到任何存储库时,该版本已不受版本控制并被忽略。这是出于您的安全。

包含非常通用信息的

.env.example 在新安装时会复制为.env,并进行了一些更改。前APP_KE

答案 1 :(得分:0)

environment.tsenvironment.prod.ts在角度应用程序中用于根据应用程序的运行位置加载不同的变量。

ng serve将使用environemnt.ts文件运行该应用程序。 ng serve --prod将使用environment.prod.ts文件运行应用程序。

一个很好的例子是API网址。在开发中,您将使用http//:localhost:<port>,而在生产中,URL可能是www.<my-api>.com,您可以使用不同的环境文件在构建之间进行这些切换。

请记住,您网站上的任何用户都可以读取角度环境文件。在environment.tsenvironment.prod.ts文件中保留用户名,密码或api键是一个坏主意。

.env文件用于存储节点/ express API的环境变量。此代码在服务器上运行。 require('dotenv').config();文件中的server/config/config.js行是文件的加载位置。