Я пытаюсь передать переменные окружения в мою собственную библиотеку. И я передаю его через forRoot (). Для жестко закодированных значений я могу передать его, но для значений среды, когда я передаю его в библиотеку, он отображается как неопределенный.
const rootUrl = environment.rootURL;
@NgModule({
imports: [
// configs go in here
coachModule.forRoot(
{
apiURL: 'test.com',
scoreData: {
score: 708
},
rootURL: rootUrl
}),
...
rootUrl определяется, когда я ставлю точку останова на @NgModule, однако, когда я ставлю точку останова в библиотеке, rootURL не определен.
Я использую Angular 5. Я попытался найти проблему, но не смог найти решения.
Это распространенная проблема и что может быть другим способом передачи этой переменной среды? Любая помощь приветствуется :)
ОБНОВЛЕНИЕ: Я выяснил, почему это не работает должным образом. Он создавался с --aot, поэтому при отладке я смог увидеть значение rootUrl, потому что проверял его во время выполнения, но передавал его в мою библиотеку во время компиляции (с неопределенным значением)
Я пытаюсь это возможное решение прямо сейчас. Если у кого-то есть другие потенциальные решения, я буду признателен
РЕШЕНИЕ: Мое решение состояло в том, чтобы передать переменные как функции, поскольку переменные среды были скомпилированы. Это было бы, чтобы выполнить их во время выполнения.
Я просто создал следующие функции и передал ссылку в библиотеку
export function getRootURL() {
return environment.rootURL;
}