import { createServer } from '@graphql-yoga/node';
import express from 'express';
// create mesh
const { schema, getEnveloped } = await getBuiltMesh();
// create express server
const app = express();
// create yoga server
const server = createServer({
schema: schema,
});
// add graphql endpoint
app.use('/graphql', server);
没有重载匹配这个调用。最后一个重载给出如下结果错误。{req: IncomingMessage;res: ServerResponse;}, {req: IncomingMessage;}, {}>'不是可赋值给'Application'类型的参数。键入"YogaNodeServer<{req: IncomingMessage;res: ServerResponse;}, {req: IncomingMessage;},{}比;,(要求:IncomingMessage, res: ServerResponse) =>Promise<…>)'错过了以下属性来自"应用程序"类型:defaultConfiguration, engine, set, and more.ts(2769)
根据https://www.graphql-yoga.com/docs/integrations/integration-with-express,它应该工作。
请帮助我了解我的问题与graphqhl瑜伽和表达。
我只想公开我的瑜伽服务器。
我刚刚遇到了同样的问题,这是因为我正在扩展@tsconfig/node-lts-strictest
,其中exactOptionalPropertyTypes
打开。
关闭tsconfig.json
的标志或使用// @ts-expect-error
(这是我喜欢的方式,因为我希望我的配置保持严格)似乎是目前唯一可行的选择。
我遇到了同样的问题。我想在最新版本的@graphql-yoga/node
(2.13.13对我来说)中解决了这个问题。
您可以通过以下方式将软件包版本更新为最新版本:
yarn upgrade @graphql-yoga/node -latest
或
npm i @graphql-yoga/node@latest
如果你正在使用npm