콘텐츠로 이동

Gatsby

Gatsby는 빌드 시 정적 HTML을 생성하고 클라이언트에서 리하이드레이션합니다. CDN 스크립트는 브라우저 API에서만 로드해야 하므로 gatsby-browser.js가 적합한 위치입니다.

Terminal window
npm install @wink/elements

onClientEntry API는 Gatsby 런타임이 브라우저에서 초기화되자마자 한 번 실행됩니다:

gatsby-browser.js
import { load } from '@wink/elements';
export function onClientEntry() {
load({ clientId: process.env.GATSBY_WINK_CLIENT_ID });
}

Gatsby는 GATSBY_ 접두사가 붙은 변수만 브라우저 번들에 노출합니다:

.env.production
GATSBY_WINK_CLIENT_ID=your-client-id
.env.development
GATSBY_WINK_CLIENT_ID=your-client-id
src/pages/hotels.tsx
import React from 'react';
export default function HotelsPage() {
return (
<main>
<wink-content-loader layout="HOTEL" id="YOUR_LAYOUT_ID" />
<wink-lookup />
</main>
);
}

Gatsby는 React를 사용하므로 React 통합과 동일한 JSX 내장 선언을 추가하세요:

src/wink-elements.d.ts
// 전체 선언 파일은 /integrations/react를 참조하세요

gatsby-ssr.js를 수정할 필요가 없습니다. <wink-*> 태그는 정적 출력에서 일반 HTML 요소로 렌더링되며, 브라우저가 페이지를 로드할 때 CDN 스크립트가 이를 업그레이드합니다.