我有一个
environment.ts
文件;
export const environment = { token: '345' };
和一个
enviroment.development.ts
文件:
export const environment = { token: '123' };
两者都在公共 GitHub 存储库上。我想部署一个应用程序并将令牌值设置为真正的键值,但是在 Netlify 或 Vercel 上使用环境变量不起作用,因为我为项目设置了它们。我不想在我的应用程序的任何部分写入真正的访问令牌。如何部署应用程序并将假代币值更改为真实值?如果我将真实值放入
src/environments/environment.development.ts
中,它将公开可用,但我必须这样做,因为这是 Netlify 或 Vercel 从中获取代码的地方。
如果我添加:
production: true,
token: '345',
数值仍然没有改变。
以下: https://angular.io/guide/build#configure-target-specific-file-replacements
在您的项目中会有
.gitignore
文件,在这里您可以包含您的 environment
文件夹,提交甚至不会显示这些文件,它们在您的本地系统中是安全的,您可以使用它们从本地进行部署。
另一种方法是使用
Deploy keys
(github),您可以在其中安全地存储密钥,然后在部署代码时使用带有 Node.js 的脚本来创建文件。