Hướng dẫn chi tiết thiết lập gRPC-Web với Vue.js

Bước 1: Cài đặt protoc

Bước 2: Cài đặt protoc-gen-grpc-web

npm install -g protoc-gen-grpc-web

Bước 3: Tạo ứng dụng Vue.js

vue create greeter-client

Bước 4: Tạo client stubs

protoc --proto_path=GrpcGreeter/GrpcGreeter/Protos --js_out=import_style=commonjs,binary:greeter-client/src/ --grpc-web_out=import_style=commonjs,mode=grpcwebtext:greeter-client/src/ greet.proto

Bước 5: Cài đặt các thư viện cần thiết cho gRPC-Web trong client

npm install grpc-web
npm install google-protobuf

Bước 6: Triển khai code để gọi gRPC từ Vue.js

Trong một component Vue (ví dụ: App.vue), triển khai method để gọi gRPC:

<template>
  <div>
    <button @click="sayHello">Say Hello</button>
  </div>
</template>

<script>
import { HelloRequest } from "./greet_pb.js";
import { GreeterClient } from "./greet_grpc_web_pb.js";

export default {
  name: "App",
  methods: {
    sayHello: function () {
      const client = new GreeterClient("https://localhost:7255", null, null);

      const request = new HelloRequest();
      request.setName("Vue.js");

      client.sayHello(request, {}, (err, response) => {
        if (err) {
          console.error("gRPC Error:", err);
        } else {
          console.log("Server says:", response.getMessage());
        }
      });
    },
  },
};
</script>

Ghi chú bổ sung

Sau khi hoàn tất các bước trên, bạn có thể chạy ứng dụng Vue.js để gửi request gRPC tới server!