我对GraphQL非常陌生,并尝试在NativeScript Angular项目中使用它,但是当我安装apollo-angular插件时,它没有任何ApolloModule的导出成员,我如何将GRAPHQL服务器与angulrNativeScrt项目连接起来。
import {ApolloModule, APOLLO_OPTIONS} from 'apollo-angular';发布于 2020-08-15 23:33:27
显然,他们在2.x版中删除了ApolloModule。
替换
import {NgModule} from '@angular/core';
import {HttpClientModule} from '@angular/common/http';
import {ApolloModule, APOLLO_OPTIONS} from 'apollo-angular';
import {HttpLinkModule, HttpLink} from 'apollo-angular-link-http';
import {InMemoryCache} from 'apollo-cache-inmemory';
@NgModule({
imports: [
// ... other modules
HttpClientModule,
HttpLinkModule,
ApolloModule,
],
providers: [
{
provide: APOLLO_OPTIONS,
useFactory(httpLink: HttpLink) {
return {
cache: new InMemoryCache(),
link: httpLink.create({
uri: 'http://localhost:3000',
}),
};
},
deps: [HttpLink],
},
],
})
class AppModule {}使用
import {NgModule} from '@angular/core';
import {HttpClientModule} from '@angular/common/http';
import {APOLLO_OPTIONS} from 'apollo-angular';
import {HttpLink} from 'apollo-angular/http';
import {InMemoryCache} from '@apollo/client/core';
@NgModule({
imports: [
// ... other modules
HttpClientModule,
],
providers: [
{
provide: APOLLO_OPTIONS,
useFactory(httpLink: HttpLink) {
return {
cache: new InMemoryCache(),
link: httpLink.create({
uri: 'http://localhost:3000',
}),
};
},
deps: [HttpLink],
},
],
})
class AppModule {}你可以在这里阅读到关于它的所有内容:https://apollo-angular.com/docs/migration/#no-ngmodules
发布于 2020-08-12 00:14:14
您使用的是apollo-angular 2.0.x版吗?尝试更改为 1.9.1 版本,这是新版本的 (6天前发布)中的错误,或者apollo angular setup中的文档已过时,更改为1.9.1可以解决您的问题。
发布于 2020-12-06 07:26:29
我遇到了和你一样的问题,使用的是apollo-angular版本2.0.x,我认为文档已经过时了,我做了以下工作,并解决了这个问题
ng add apollo-angular这将自动生成包含以下内容的graphql.module.ts文件
import {NgModule} from '@angular/core';
import {APOLLO_OPTIONS} from 'apollo-angular';
import {ApolloClientOptions, InMemoryCache} from '@apollo/client/core';
import {HttpLink} from 'apollo-angular/http';
const uri = 'your uri'; // <-- add the URL of the GraphQL server here
export function createApollo(httpLink: HttpLink): ApolloClientOptions<any> {
return {
link: httpLink.create({uri}),
cache: new InMemoryCache(),
};
}
@NgModule({
providers: [
{
provide: APOLLO_OPTIONS,
useFactory: createApollo,
deps: [HttpLink],
},
],
})
export class GraphQLModule {}https://stackoverflow.com/questions/63325931
复制相似问题