这个问题的根源是Apollo Server没有识别依赖库datasource-sql所提供的数据源类型。为了解决这个问题,可以尝试通过以下方式注入数据源类型:
1.创建一个datasource.ts文件,定义一个新的数据源类。如下所示:
import { SQLDataSource } from 'datasource-sql';
export class MyDataSource extends SQLDataSource {
// Implement your data source methods here
}
2.在Apollo Server中,将新的数据源类注入到数据源选项中。 如下所示:
import { ApolloServer } from 'apollo-server';
import { MyDataSource } from './datasources';
const server = new ApolloServer({
typeDefs,
resolvers,
dataSources: () => ({
myDataSource: new MyDataSource(),
}),
});
这样,Apollo Server就可以识别新的MyDataSource类,从而避免了'datasource-sql子类不被识别为有效的DataSource类型”的问题。
上一篇:ApolloSandbox要求开启内省,但内省已经开启|Apolloserver+TypeScript
下一篇:ApolloServer3ExpressmiddlewarenotworkingwithReactSSRRouting