如何使用 NestJS GraphQL 实现 NuxtJS Apollo

Posted

技术标签:

【中文标题】如何使用 NestJS GraphQL 实现 NuxtJS Apollo【英文标题】:How to NuxtJS Apollo with NestJS GraphQL 【发布时间】:2020-03-21 06:46:42 【问题描述】:

我正在尝试将我的 NuxtJS 应用程序 (@nuxtjs/apollo) 与我的 NestJS 应用程序 (@nestjs/graphql) 连接起来,该应用程序只能用作 GraphQL 服务器。

我不知道阿波罗的入口点。

我总是得到 404,这是正确的,因为我不知道如何。

这是我的 nuxt 配置。

apollo: 
  clientConfigs: 
    default: 
      httpEndpoint: 'http://localhost:4000',
      browserHttpEndpoint: '/graphql'
    
  

这是我的巢配置

import  NestFactory  from '@nestjs/core';
import  AppModule  from './app.module';

async function bootstrap() 
  const app = await NestFactory.create(AppModule);
  await app.listen(4000);

bootstrap();

这是我的 AppModule 类

import  Module  from '@nestjs/common';
import  GraphQLModule  from '@nestjs/graphql';
import  PagesModule  from './pages/pages.module';

@Module(
  imports: [

    PagesModule,
    GraphQLModule.forRoot(
      typePaths: ['./**/*.graphql'],
    ),
  ],
)
export class AppModule 

感谢您对此事的任何帮助!!!

【问题讨论】:

为什么要删除原来的问题? @JayMcDoniel 我正在尝试尽快得到答复,否则我将无法继续进行此设置。 删除并重新提出问题并不意味着您会更快地得到答案 我之前没用过Nuxt,但是启动服务器的流程是什么?你先启动 Nest 服务器吧? 是的,没错。嵌套第一个 nuxt 之后。 【参考方案1】:

app.module.ts

GraphQLModule.forRoot(
      autoSchemaFile: join(process.cwd(), 'src/schema.gql'),
      path: `/api/ticket/graphql`, // <-
    )

nuxt.config.js:


apollo: 
    clientConfigs: 
      default: 
        httpEndpoint: `http://localhost:4000/api/ticket/graphql`, // <-
      ,
    ,
  

【讨论】:

以上是关于如何使用 NestJS GraphQL 实现 NuxtJS Apollo的主要内容,如果未能解决你的问题,请参考以下文章

如何在 neo4j-graphql-js 端点中使用带有 nestjs 框架的拦截器?

GraphQL + NestJS - 我如何在警卫中访问@Args?

NestJS 使用 GraphQL 上传 [关闭]

实现 GraphQLModule 时 GraphQL 的 NestJS 问题

GraphQL 如何使用 Nestjs 或 type-graphql 设置查询 MongoDB ref 集合

Nestjs中多个graphql解析器实现的问题