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

Ati*_*man 4 nativescript graphql angular

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

import {ApolloModule,  APOLLO_OPTIONS} from 'apollo-angular';
Run Code Online (Sandbox Code Playgroud)

小智 5

显然他们在 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 {}
Run Code Online (Sandbox Code Playgroud)

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 {}
Run Code Online (Sandbox Code Playgroud)

您可以在这里阅读所有相关内容:https ://apollo-angular.com/docs/migration/#no-ngmodules