[Graphql + Netlify] Solve @Apollo/client CORS problem

In functions/graphql/index.js file:

const { ApolloServer, gql } = require("apollo-server-lambda");

const typeDefs = gql`
  type Query {
    todos: [Todo]!
  }
  type Todo {
    id: ID!
    text: String!
    done: Boolean!
  }
  type Mutation {
    addTodo(text: String!): Todo
    updateTodoDone(id: ID!): Todo
  }
`;

const todos = {};
let todoIndex = 0;
const resolvers = {
  Query: {
    todos: () => Object.values(todos),
  },
  Mutation: {
    addTodo: (_, { text }) => {
      todoIndex++;
      const id = `key-${todoIndex}`;
      todos[id] = { id, text, done: false };
      return todos[id];
    },
    updateTodoDone: (_, { id }) => {
      todos[id].done = true;
      return todos[id];
    },
  },
};

const server = new ApolloServer({
  typeDefs,
  resolvers,
  // should be disabled in productions
  playground: true,
  introspection: true,
});
//Add CORS
exports.handler = server.createHandler({
  cors: {
    origin: "*",
    credentials: true,
  },
});
posted @   Zhentiw  阅读(89)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2020-02-25 [Unit testing Angular] Complete component code
2020-02-25 [Javascript] Objects and Functions
2020-02-25 [HTML5] Element id binding
2019-02-25 [Functional Programming] Working with two functors(Applicative Functors)-- Part1 --.ap
2019-02-25 [React] Preventing extra re-rendering with function component by using React.memo and useCallback
2018-02-25 [ES2018] Two ways to write for-await-of
2016-02-25 [RxJS] Using Observable.create for fine-grained control
点击右上角即可分享
微信分享提示