Я оцениваю версию Ag-Grid для корпоративной лицензии в моем приложении Angular.Согласно официальному документу, рекомендуется использовать LicenseManager.setLicenseKey('my key')
внутри файла main.ts перед загрузкой Angular.Я следую процедуре и могу запустить сетку без ошибок.
Проблема начинается, когда я не хочу фиксировать свой ключ в общедоступном репозитории github.Следовательно, я получаю его с моего живого сервера, помещая его вручную в системную переменную и получая к нему доступ через вызов REST (используя шифрование crypto-js).Теперь, если мне нужно получить ключ от вызова REST, мне нужно сделать запрос XMLHttpRequest до начальной загрузки Angular, и я должен убедиться, что логика угловой загрузки проходит внутри успеха и неудачи этого вызова REST.
Теперь,это выглядит совсем нехорошо для меня, поскольку:
- Для моего приложения будет иметь место дополнительная латентность сети
- Зависимость начальной загрузки от вызова REST.
- ИспользованиеXMLHttpRequest вместо HttpClient от Angular.
Есть ли хороший способ настроить этот лицензионный ключ?Могу ли я установить его во время ng build --myCustomConfiguration_LicenseKey='XYZ'
, который я могу передать из инструмента сборки (Teamcity)?
Примечание:
- Я попытался сделать вызов REST внутри вызова AppComponent или XMLHttpRequest вМетод успешной загрузки, но все равно я получаю сообщение об ошибке в консоли, что я не использую лицензионную версию приложения.Если я жестко закодирую его, он будет работать нормально.
- Я вынужден не использовать git-secret или любую другую библиотеку.