我正在Angular应用程序中评估Ag-Grid的企业许可证版本。根据官方文档,建议在Angular引导程序之前在main.ts文件中使用LicenseManager.setLicenseKey('my key')
。我按照此步骤进行操作,就能正常启动网格。
当我不想在公共github存储库中提交密钥时,问题就开始了。因此,我是从实时服务器上获取它的,方法是将其手动放在系统变量中,然后通过REST调用(使用crypto-js加密)进行访问。现在,如果必须从REST调用中获取密钥,则需要在Angular引导程序之前进行XMLHttpRequest,并且必须确保Angular Bootstrap逻辑包含在该REST调用的成功和失败之内。
现在,这些看起来对我一点都不好,
有什么好的方法来设置此许可证密钥吗?我可以在ng build --myCustomConfiguration_LicenseKey='XYZ'
期间进行设置吗,可以从构建工具(Teamcity)中传递它吗?
注意:
答案 0 :(得分:0)
有什么好的方法来设置此许可证密钥吗?我可以在ng build --myCustomConfiguration_LicenseKey ='XYZ'期间设置它,我可以从构建工具(Teamcity)传递它吗?
是-不使用REST调用。
执行ng build --prod
后,代码的LicenseManager.setLicenseKey('#my_key#')
部分将进入生成的输出的main.<randomString>.js
文件中。
您可以拥有一个Powershell脚本(或Shell脚本),该脚本将#my_key#
替换为您的实际许可证密钥。
OR
在CI中,一旦获得最新代码,就用Powershell(或Shell)脚本将#my_key#
文件中的main.ts
替换为您的实际许可证密钥。将此步骤添加到您的CI。
触发ng build --prod