У вас есть 2 варианта: первый, как вы описали, поместите два разных значения для одного и того же ключа конфигурации в файлы среды.тогда вам просто нужно прочитать ключ из конфигурации, и вы получите другое значение для режима dev и prod.Второй вариант, вы также можете проверить в каждом компоненте, если вы находитесь в режиме разработки и инициализировать payapl на основе env.
РЕДАКТИРОВАТЬ: Для первого метода: из кода библиотеки этоВот как определяется PayPalEnvironment. Это фактическое перечисление:
export enum PayPalEnvironment {
Sandbox = 'sandbox',
Production = 'production'
}
Итак, чтобы использовать файлы окружения, вы должны определить два файла окружения, один для dev и один для prod, вы можете увидеть полный способ определенияconfig здесь После добавления двух файлов конфигурации, просто добавьте один ключ для paypalEnv, для разработки поместите его значение в «песочницу», а для prod значение должно быть «production», например:
// file: environment/environment.dev.ts
export const environment = {
production: false,
paypalEnv: 'sandbox',
};
затем использовать файл конфигурации, под вашим компонентом PyaPal следующее:
// Change for correct path
import { environment } from '../../environments/environment';
private initConfig(): void {
this.payPalConfig = new PayPalConfig(PayPalIntegrationType.ClientSideREST,
environment.paypalEnv, {
commit: true,
client: {
// how to will it trigger production for ng-build --prod?
sandbox: '...sandboxclientid...',
production: '...liveclientid...',
},
...
});
}
Для второго метода вы можете использовать следующий способ:
import { isDevMode } from '@angular/core';
...
private initConfig(): void {
// The console.log here is just for demo but you can use the value to decide
console.log(isDevMode());
}