Angular 使用REST调用设置Ag网格许可证密钥
我正在我的Angular应用程序中评估Ag Grid的企业许可证版本。根据官方文件,建议在引导之前在main.ts文件中使用Angular 使用REST调用设置Ag网格许可证密钥,angular,ag-grid,Angular,Ag Grid,我正在我的Angular应用程序中评估Ag Grid的企业许可证版本。根据官方文件,建议在引导之前在main.ts文件中使用LicenseManager.setLicenseKey(“我的密钥”)。我按照程序进行操作,能够毫无错误地启动网格 当我不想在公共github存储库中提交密钥时,问题就出现了。因此,我从我的实时服务器获取它,方法是将它手动放在系统变量中,然后通过REST调用(使用crypto js加密)访问它。现在,如果我必须从REST调用中获取密钥,我需要在Angular bootst
LicenseManager.setLicenseKey(“我的密钥”)
。我按照程序进行操作,能够毫无错误地启动网格
当我不想在公共github存储库中提交密钥时,问题就出现了。因此,我从我的实时服务器获取它,方法是将它手动放在系统变量中,然后通过REST调用(使用crypto js加密)访问它。现在,如果我必须从REST调用中获取密钥,我需要在Angular bootstrap之前进行XMLHttpRequest,并且我必须确保Angular bootstrap逻辑包含在REST调用的成功和失败中
现在,这些对我来说一点都不好,因为:
- 我的应用程序启动时会有额外的网络延迟
- REST调用上的引导依赖项
- 使用XMLHttpRequest而不是Angular的HttpClient
- 我尝试在AppComponent或XMLHttpRequest调用中进行REST调用 在bootstrap成功方法中,但我仍然在控制台中遇到错误 我没有使用应用程序的许可证版本。如果我硬编码, 它很好用
- 我被迫不使用git secret或任何其他库
ng build--prod
,LicenseManager.setLicenseKey('my#u key#')
部分代码将进入生成输出的main..js
文件
您可以有一个powershell脚本(或shell脚本),用实际的许可证密钥替换#my#u key#
或
main.ts
文件中的实际许可证密钥替换为#my#u key#
。将此步骤添加到CIng构建--prod
感谢帕里托斯的回复,但在这种情况下,我的密钥将清晰地显示在我的浏览器源代码中,即使我进行了产品缩小构建。如果您不想这样做,这是正确的。无论如何,我会保留答案——也许这对其他人会有帮助。