Я нахожусь в процессе создания библиотеки Angular, которая включает код, связанный с auth/graphql, который требуется всем нашим приложениям.
Проблема в том, что я храню uri
в переменной среды Angular, которой нет в библиотеках Angular.
Выполнение ng add apollo-angular
генерирует следующий модуль:
graphql.module.ts (удален импорт для ясности):
const uri = ''; // <-- add the URL of the GraphQL server here
export function createApollo(httpLink: HttpLink) {
return {
link: httpLink.create({uri}),
cache: new InMemoryCache(),
};
}
@NgModule({
exports: [ApolloModule, HttpLinkModule],
providers: [
{
provide: APOLLO_OPTIONS,
useFactory: createApollo,
deps: [HttpLink],
},
],
})
export class GraphQLModule {}
Обратите внимание на uri
, который создает зависимость от этого модуля, который должен быть внедрен.
В своих приложениях app.module.ts
я создал провайдер, который захватывает среду:
providers: [
{
provide: 'envVars', useValue: environment
}
]
Который я обычно ввожу через конструктор следующим образом:
constructor(@Inject('envVars') private envVars: any) {}
Я пробовал много способов ввести этот uri
безрезультатно! Предложения?