[英]Unable to import SchemaDirectiveVisitor from apollo-server-express
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 })
我得到的錯誤是 TypeError: Class extends value undefined is not a constructor or null
查看apollo-server\/packages\/apollo-server-express\/src\/index.ts<\/a> ,該功能沒有公開。
SchemaDirectiveVisitor<\/a>是來自
graphql-tools<\/code>的遺留函數。
apollo-server-express@2.XX (last v2.25.2)<\/a>使用了仍然具有該功能的 graphql-tools 4.0.8<\/a> 。
您需要固定到
apollo-server-express<\/code>的
v2<\/code>版本才能使用該功能。
他們擺脫了 SchemaDirectiveVisitor 並添加了兩個新函數來簡化:mapSchema 和 getDirectives。
來源: https ://www.the-guild.dev/blog/graphql-tools-v6 然后滾動到以下標題。 使用指令修改模式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.