Перейти до вмісту

Gatsby

Gatsby генерує статичний HTML під час збірки та повторно активує його на клієнті. Скрипти CDN мають завантажуватися лише через браузерні API — gatsby-browser.js є правильним місцем для цього.

Terminal window
npm install @wink/elements

Завантаження через gatsby-browser.js

Section titled “Завантаження через gatsby-browser.js”

API onClientEntry виконується один раз, щойно середовище 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

Використання на сторінках і в компонентах

Section titled “Використання на сторінках і в компонентах”
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:

src/wink-elements.d.ts
// Див. /integrations/react для повного файлу декларацій

gatsby-ssr.js — змін не потрібно

Section titled “gatsby-ssr.js — змін не потрібно”

Вам не потрібно змінювати gatsby-ssr.js. Теги <wink-*> рендеряться як звичайні HTML-елементи у статичному виводі, а CDN-скрипт оновлює їх, коли браузер завантажує сторінку.