我一直在努力使这一工作成功。我目前正在学习Apollo Server和GraphQL。我去了不同的文档,但似乎找不到答案。这就是我想要做的。
我有 usertypes.js ,这是代码段:
const { gql } = require('apollo-server');
const UserTypeDefs = gql`
type User {
_id: ID!,
username: String!,
password: String!,
}
`;
module.exports = UserTypeDefs;
在我的 logintypes.js 上:
const { gql } = require('apollo-server');
const { UserTypeDefs } = require('./usertypes.js')
const LoginTypeDefs = gql`
type LoginResponse {
user: UserTypeDefs.User //this is not working. :(
}
extend type Mutation {
login(username: String!, password: String!): LoginResponse!
}
`;
module.exports = LoginTypeDefs;
感谢您的帮助。我不想再在 logintypes.js 中再次声明我的类型用户。
谢谢。
答案 0 :(得分:0)
无需导入其他模块。只需按名称引用类型即可:
type LoginResponse {
user: User
}
然后,当您创建ApolloServer
实例时,将typeDefs作为数组传递:
const userTypeDefs = require(...)
const loginTypeDefs = require(...)
const apollo = new ApolloServer({
typeDefs: [userTypeDefs, loginTypeDefs],
...
})