Angular2 – Configuración privada (no rastreada)

Estoy comenzando con angular 2/4 / io. Estoy usando una API y, por lo tanto, tengo una key secreta de API. Me pregunto cuál es la mejor manera de ocultar información tan sensible para que Git no la rastree de ninguna manera.

Hasta donde yo sé, no existe tal característica en el marco, como un config.local.json o less, que sería ignorado por defecto.

Existe la carpeta src/environments , pero tampoco tiene un set de files de configuration inteligente / composable, y supongo que no quiero meterme con el comportamiento pnetworkingeterminado de Angular para cargar files de entorno. (parece excesivo)

Entonces, estaba pensando en hacer mi propio file config.local.json en src / app. O de alguna manera modificar el package web para inyectar las variables en el lugar correcto, pero una vez más parece que hay mucho trabajo y no quiero expulsar el package web para esto.

Entonces, ¿qué recomendarías? Supongo que el file de configuration manual es la manera más directa y simple, excepto si me falta algo.

Mi solución hasta ahora fue crear en src/app una config.json , una config.local.json (.gitignonetworking) y una config.interface.ts

 export interface Config { apiKey: string; } 

Luego, simplemente cargue la configuration fusionando ambos files.

 const config: Config = Object.assign({}, require('./config.json'), require('./config.local.json')); 

Me encontré con Cannot find name 'require' pero esta solución me ayudó.