首页 > 解决方案 > 使用 REST 调用设置 Ag-Grid 许可证密钥

问题描述

我正在我的 Angular 应用程序中评估 Ag-Grid 的企业许可版本。根据官方文档,建议LicenseManager.setLicenseKey('my key')在 Angular 引导之前在 main.ts 文件中使用。我按照程序进行操作,并且能够毫无错误地启动网格。

当我不想在公共 github 存储库中提交我的密钥时,问题就开始了。因此,我从我的实时服务器中获取它,通过将它手动放在系统变量中并通过 REST 调用访问它(使用 crypto-js 加密)。现在,如果我必须从 REST 调用中获取密钥,我需要在 Angular 引导之前创建一个 XMLHttpRequest,并且我必须确保 Angular 引导逻辑进入该 REST 调用的成功和失败。

现在,这些看起来对我来说根本不好:

有什么好的方法来设置这个许可证密钥吗?我可以在 期间设置它ng build --myCustomConfiguration_LicenseKey='XYZ',我可以从构建工具(Teamcity)传递它吗?

笔记:

标签: angularag-grid

解决方案


有什么好的方法来设置这个许可证密钥吗?我可以在 ng build --myCustomConfiguration_LicenseKey='XYZ' 期间设置它,我可以从构建工具(Teamcity)传递它吗?

是的 - 不使用 REST 调用。

完成后,您ng build --prodLicenseManager.setLicenseKey('#my_key#')部分代码将进入main.<randomString>.js生成的输出文件。

您可以使用一个 powershell 脚本(或 shell 脚本)替换#my_key#您的实际许可证密钥。

或者

  1. 在您的 CI 中,一旦您获得最新代码,请使用 powershell(或 shell)脚本替换文件#my_key#中的实际许可证密钥。main.ts将此步骤添加到您的 CI。

  2. 扳机ng build --prod


推荐阅读