问题描述
const { SchemaDirectiveVisitor } = require('apollo-server-express');
class ReplaceDirective extends SchemaDirectiveVisitor {
visitFieldDefinition(field) {
const { replacement } = this.args;
field.resolve = () => {
return replacement
}
}
}
module.exports = Object.freeze({ ReplaceDirective })
我得到的错误如下 类型错误:类扩展值未定义不是构造函数或 null
解决方法
查看 apollo-server/packages/apollo-server-express/src/index.ts,该函数未公开。
SchemaDirectiveVisitor 是 graphql-tools
的遗留函数。
apollo-server-express@2.X.X (last v2.25.2) 使用了 graphql-tools 4.0.8 仍然有那个功能。
您需要固定到 v2
的 apollo-server-express
版本才能使用该功能。