gRPC (RPC)

浏览器没有 gRPC 客户端。 (Protocol Buffers 不支持浏览器。)

这意味着我们不能直接从浏览器调用 gRPC enpdoints;我们需要从 Node.js 服务器调用 gRPC enpdoints。

为了获取数据,我们可以简单地使用 onBeforeRender() hook,因为 onBeforeRender() hook 在 Node.js 中被调用。

For mutating data: 对于突变数据:

  1. 我们创建一个新的 HTTP endpoint。例如,如果我们使用 Express.js

    // Environment: Node.js
    
    import express from "express";
    
    const app = express();
    app.use(express.json()); // Parse the HTTP request body as JSON
    
    app.post("/mutations/updateText", (req, res) => {
      const { text } = req.body;
      // We can call gRPC enpdoints here
    });
  2. 然后我们在浏览器端调用 HTTP endpoint

    // Environment: Browser
    
    const body = JSON.stringify({ text: "Some new text" });
    await fetch("/mutations/updateText", { body });