在 Apollo Express 中,可以使用 cors 库来处理跨域资源共享(CORS)。以下是一个包含代码示例的解决方法:
首先,安装 cors 库:
npm install cors
然后,在 Apollo Server 的配置中添加 cors 选项:
const express = require('express');
const { ApolloServer, gql } = require('apollo-server-express');
const cors = require('cors');
const app = express();
app.use(cors()); // 添加 cors 中间件
const typeDefs = gql`
type Query {
hello: String
}
`;
const resolvers = {
Query: {
hello: () => "Hello, World!"
}
};
const server = new ApolloServer({ typeDefs, resolvers });
server.applyMiddleware({ app });
app.listen({ port: 4000 }, () =>
console.log(`Server running at http://localhost:4000${server.graphqlPath}`)
);
上述代码示例中,我们首先引入了 cors 库并将其添加为 express 中间件。然后,我们在 Apollo Server 的配置中调用 applyMiddleware
方法,将 express 应用程序与 Apollo Server 集成起来。这样,我们就可以在 Apollo Server 中使用 cors 选项来处理跨域请求了。
请注意,上述示例中的 app.listen
方法指定了端口为 4000,你可以根据自己的需求进行修改。
上一篇:Apollo delegateToSchema - 如何从父解析器发送子解析器的子查询
下一篇:Apollo Federation - 处理错误实体 -> `Entity` 是扩展类型,但在任何服务中都未定义