Я мирно извлекал все из API покемонов, объявив эту строку в файле с активами следующим образом:
export const configUrl = {
pokemonBaseUrl: 'https://pokeapi.co/api/v2/',
};
И вызвав ее в моем сервисе так:
getPokemons(offset: number): Observable<any> {
return this.httpClient.get(`${configUrl.pokemonBaseUrl}pokemon-species?offset=${offset}&limit=20`)
.pipe(
map((pokemonList: PokemonList) => this.addAdditionalPropertiesToEntity(pokemonList))
);
}
затемвызывая его внутри побочных эффектов:
@Effect()
loadInitialPokemons$: Observable<Action> = this.actions$.pipe(
ofType(MasterDetailActionTypes.StartLoadMasterDetails),
switchMap((action: StartLoadMasterDetails) => this.pokemonService.getPokemons(action.payLoad.offset)),
switchMap(result => of(new EndLoadMasterDetails(result))),
catchError(err => of(new OnError(err.message)))
);
, который имеет следующий тип действия:
export class StartLoadMasterDetails implements Action {
readonly type = MasterDetailActionTypes.StartLoadMasterDetails;
readonly payLoad = {
offset: 0
};
}
Затем внутри моего компонента я получаю исходные данные, подобные следующим:
ngOnInit() {
this.createStateSubscriptions();
this.createEventScrollSubscription();
this.store.dispatch(new actions.StartLoadMasterDetails());
}
Мой HTML-код выглядит следующим образом:
<div class="master-container">
<div class="wrapper-scroll-y grid-scrollbar">
<div class="tiles-container" *ngIf="(pokemonObservable$|async).pokemonList">
<div class="card" *ngFor="let pokemon of (pokemonObservable$|async).pokemonList.results">
<div (click)= "onPokemonSelected($event, pokemon.id)">
<div class="card-body">
<img src="{{pokemon.spriteUrl}}">
</div>
<div class="card-footer footer">{{pokemon.name}}</div>
</div>
</div>
</div>
</div>
<app-loader-indicator [show]="(pokemonObservable$|async).processingMaster"></app-loader-indicator>
</div>
Теперь я пытаюсь вместо того, чтобы напрямую получать эти данные с сервера, я хочу поместить их в файл.Я попробовал это:
export const configUrl = {
pokemonBaseUrl: {
'pokemon-species': {
'results': [
{
'name': 'bulbasaur',
'url': 'https://pokeapi.co/api/v2/pokemon-species/1/'
},
{
'name': 'ivysaur',
'url': 'https://pokeapi.co/api/v2/pokemon-species/2/'
}
]
}
},
};
И изменил мой http-запрос на это:
getPokemons(offset: number): Observable<any> {
return this.httpClient.get(`${configUrl.pokemonBaseUrl["pokemon-species"]}`)
.pipe(
map((pokemonList: PokemonList) => this.addAdditionalPropertiesToEntity(pokemonList))
);
}
Когда я консольный логин на моем configUrl.routeBaseUrl ["pokemon-видами"], я получаюданные внутри файла, но как только я запускаю свой проект, я получаю эту ошибку: