ข้ามไปยังเนื้อหา

Gatsby

Gatsby สร้าง HTML แบบสแตติกในช่วงเวลาสร้างและทำการรีไฮเดรตบนไคลเอนต์ สคริปต์ CDN ต้องโหลดผ่าน API ของเบราว์เซอร์เท่านั้น — gatsby-browser.js คือที่ที่เหมาะสม

Terminal window
npm install @wink/elements

API onClientEntry จะทำงานครั้งเดียวทันทีที่ runtime ของ Gatsby เริ่มต้นในเบราว์เซอร์:

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

Gatsby จะเปิดเผยเฉพาะตัวแปรที่ขึ้นต้นด้วย GATSBY_ ให้กับ bundle ฝั่งเบราว์เซอร์:

.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 ดังนั้นให้เพิ่มการประกาศ JSX intrinsic เดียวกับที่ใช้ใน React integration:

src/wink-elements.d.ts
// ดูไฟล์ประกาศเต็มได้ที่ /integrations/react

คุณไม่จำเป็นต้องแก้ไข gatsby-ssr.js แท็ก <wink-*> จะเรนเดอร์เป็น HTML ธรรมดาในผลลัพธ์แบบสแตติก และสคริปต์ CDN จะอัปเกรดแท็กเหล่านี้เมื่อเบราว์เซอร์โหลดหน้า