首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular NativeScript apollo-angular没有导出成员ApolloModule

Angular NativeScript apollo-angular没有导出成员ApolloModule
EN

Stack Overflow用户
提问于 2020-08-09 19:46:10
回答 3查看 2.3K关注 0票数 4

我对GraphQL非常陌生,并尝试在NativeScript Angular项目中使用它,但是当我安装apollo-angular插件时,它没有任何ApolloModule的导出成员,我如何将GRAPHQL服务器与angulrNativeScrt项目连接起来。

代码语言:javascript
复制
import {ApolloModule,  APOLLO_OPTIONS} from 'apollo-angular';
EN

回答 3

Stack Overflow用户

发布于 2020-08-15 23:33:27

显然,他们在2.x版中删除了ApolloModule。

替换

代码语言:javascript
复制
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 {}

使用

代码语言:javascript
复制
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

票数 5
EN

Stack Overflow用户

发布于 2020-08-12 00:14:14

您使用的是apollo-angular 2.0.x版吗?尝试更改为 1.9.1 版本,这是新版本的 (6天前发布)中的错误,或者apollo angular setup中的文档已过时,更改为1.9.1可以解决您的问题。

票数 1
EN

Stack Overflow用户

发布于 2020-12-06 07:26:29

我遇到了和你一样的问题,使用的是apollo-angular版本2.0.x,我认为文档已经过时了,我做了以下工作,并解决了这个问题

代码语言:javascript
复制
ng add apollo-angular

这将自动生成包含以下内容的graphql.module.ts文件

代码语言:javascript
复制
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 {}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63325931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档