我从https://mean.io生成了一个项目。但是我不确定(.env和.env.example)与(environment.ts和environment.prod.ts)之间有什么区别。
我应该在哪里存储所有配置数据,机密信息和密钥?
答案 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.ts
和environment.prod.ts
在角度应用程序中用于根据应用程序的运行位置加载不同的变量。
ng serve
将使用environemnt.ts
文件运行该应用程序。
ng serve --prod
将使用environment.prod.ts
文件运行应用程序。
一个很好的例子是API网址。在开发中,您将使用http//:localhost:<port>
,而在生产中,URL可能是www.<my-api>.com
,您可以使用不同的环境文件在构建之间进行这些切换。
请记住,您网站上的任何用户都可以读取角度环境文件。在environment.ts
或environment.prod.ts
文件中保留用户名,密码或api键是一个坏主意。
.env
文件用于存储节点/ express API的环境变量。此代码在服务器上运行。 require('dotenv').config();
文件中的server/config/config.js
行是文件的加载位置。