

Connect는 다른 언어와 플랫폼을 가진 유형-안전 API를 구축하기위한 라이브러리 제품군입니다. @connectpc/connect는 typescript, 웹 브라우저 및 node.js로 가져옵니다.
Connect를 사용하면 스키마를 먼저 정의합니다.
service ElizaService {
rpc Say(SayRequest) returns (SayResponse) {}
}
코드 생성의 마법 으로이 스키마는 서버와 클라이언트를 생성합니다.
const answer = await eliza . say ( { sentence : "I feel happy." } ) ;
console . log ( answer ) ;
// {sentence: 'When you feel happy, what do you do?'} REST와 달리 원격 절차 호출은 유형 안전하지만 후드 아래에서 일반 HTTP입니다. 네트워크 검사관의 모든 요청을 볼 수 있으며 원하는 경우 curl 수 있습니다.
curl
--header ' Content-Type: application/json '
--data ' {"sentence": "I feel happy."} '
https://demo.connectrpc.com/connectrpc.eliza.v1.ElizaService/SayConnect는 유일하게 호환되는 Protobuf JavaScript 라이브러리 인 Protobuf-es를 사용합니다.
Connect는 RPC를 구현합니다. 널리 사용 가능한 GRPC 및 GRPC-WEB 프로토콜과 웹에 최적화 된 Connect의 자체 프로토콜의 세 가지 프로토콜을 구현합니다. 이를 통해 유형 안전 엔드 투 엔드와 함께 많은 플랫폼과 언어에서 비교할 수없는 상호 운용성이 제공됩니다.
Vite를 사용하고 반응하여 Eliza 용 웹 인터페이스를 만드는 10 분 튜토리얼을 따르십시오.
React , Svelte , Vue , Next.js 및 Angular가 지원되며 (예 참조) Tanstack 쿼리 용 확장 팩이 있습니다. 우리는 광범위하게 사용 가능한 Fetch API와 인코딩 API를 구현하는 모든 최신 웹 브라우저를 지원합니다.
10 분 튜토리얼을 따라 Node.js에서 서비스를 회전시키고 웹과 터미널의 GRPC 클라이언트에서 전화하십시오.
Vanilla Node.js로 Connect RPC를 제공하거나 Fastify , Next.js 및 Express 에 서버 플러그인을 사용할 수 있습니다. 우리는 Node.js v18.14.1을 지원하고 나중에 내장 된 http 및 http2 모듈을 사용하여 지원합니다.
V1에서 V2로 마이그레이션하는 경우 마이그레이션 안내서를 확인하십시오.
Bun, Deno, Vercel 's Edge Runtime 또는 CloudFlare Workers와 같은 다른 플랫폼에서 Connect를 사용 하시겠습니까? 우리는 귀하의 사용 사례와 Connect와 관련이있는 것에 대해 배우고 싶습니다. BUF Slack을 통해 또는 GitHub 문제를 제출하여 우리에게 연락 할 수 있으며 우리는 채팅을 기꺼이 기꺼이 할 것입니다!
라이브러리와 생성 된 코드는 ES2017 및 TypeScript 4.9.5와 호환됩니다.
Apache 2 라이센스에 따라 제공됩니다.