要解决"Apollo Server - 对缓存/数据源选项的困惑",可以使用以下代码示例:
const { ApolloServer, gql } = require('apollo-server');
// 定义数据类型和查询
const typeDefs = gql`
type Query {
hello: String
}
`;
// 解析查询的逻辑
const resolvers = {
Query: {
hello: () => 'Hello, world!',
},
};
const server = new ApolloServer({
typeDefs,
resolvers,
});
const { InMemoryCache } = require('apollo-cache-inmemory');
const cache = new InMemoryCache();
const server = new ApolloServer({
typeDefs,
resolvers,
cache,
});
const { RESTDataSource } = require('apollo-datasource-rest');
class MyDataSource extends RESTDataSource {
constructor() {
super();
this.baseURL = 'https://api.example.com/';
}
async getData() {
return this.get('data');
}
}
const server = new ApolloServer({
typeDefs,
resolvers,
cache,
dataSources: () => ({
myDataSource: new MyDataSource(),
}),
});
通过以上步骤,你可以创建一个 Apollo Server 实例,并设置缓存和数据源选项来解决对缓存/数据源选项的困惑。