Изготовление сайтов в Горловке, ДНР. Начало работы с Gatsby: создайте свой первый статический сайт

 
 

Думаете об инвестировании в экосистему Jamstack? Если ваш ответ «да», то Gatsby — один из самых популярных и мощных генераторов статических сайтов Jamstack — может быть именно тем, что вы ищете. Вот наше руководство по началу работы с Гэтсби.

JAM расшифровывается как JavaScript, API и разметка. Другими словами, в то время как динамические части сайта или приложения во время цикла запроса/ответа обрабатываются JavaScript в клиенте, все серверные процессы выполняются с использованием API-интерфейсов, доступ к которым осуществляется через HTTPS с помощью JavaScript, а шаблонная разметка предварительно создается на время развертывания, часто с использованием генератора статических сайтов. Это Джемстэк. Он производительный, недорогой в масштабировании, обеспечивает лучшую безопасность и удобство для разработчиков.

Зачем использовать статический сайт

Статическая модель сайта подходит не для всех типов проектов, но когда она подходит, у нее есть ряд преимуществ. Вот несколько из них.

Скорость

Время, которое требуется веб-сайту для загрузки в браузере при первом запросе, является важным фактором для взаимодействия с пользователем. Пользователи очень быстро теряют терпение, и при медленном соединении все может только ухудшиться. Отсутствие обращений к базе данных и предварительно сгенерированный контент делают статические сайты очень быстро загружаемыми.

Статический сайт состоит из статических файлов, которые можно легко обслуживать по всему миру с помощью сетей доставки контента (CDN). Это позволяет использовать центр обработки данных, который находится ближе к тому месту, где делается запрос.

Упрощенный хостинг

Хостинг для статических сайтов настраивается в мгновение ока. Поскольку нет базы данных или кода на стороне сервера, специальных языков или фреймворков для поддержки, все, что должен делать хостинг, — это обслуживать статические файлы.

Лучшая безопасность

Без серверного кода или базы данных хакерам нечего взламывать. Нет проблем с поддержанием сервера в актуальном состоянии с помощью исправлений и исправлений безопасности. Все это означает гораздо больше спокойствия, когда речь идет о безопасности вашего сайта.

Улучшенный опыт разработчиков

Настройка вашего статического веб-сайта с помощью хостинговой компании, такой как Netlify или Vercel, проста, и при непрерывном развертывании вы просто отправляете свои изменения в выбранное репозиторий кода, и они немедленно отражаются в активной версии.

Что такое Гэтсби?

Сегодня Gatsby — один из самых популярных инструментов для создания веб-сайтов. Это больше, чем генератор статических сайтов. По сути, это «фреймворк с открытым исходным кодом на основе React для создания веб-сайтов и приложений». Поскольку Gatsby построен на основе React, все преимущества React у вас под рукой, что позволяет вам воспользоваться преимуществами этой мощной библиотеки для создания интерактивных компонентов прямо на вашем статическом веб-сайте. Gatsby также построен с использованием GraphQL, поэтому вы можете запрашивать данные и отображать их на своем веб-сайте любым удобным для вас способом.

Установка Gatsby и создание вашего проекта

Gatsby собирается с помощью webpack, но вам не нужно беспокоиться о сложных маневрах настройки; Gatsby CLI позаботится обо всем за вас.

В этом руководстве я предполагаю, что у вас локально установлен Node.js. Если это не так, перейдите на домашнюю страницу Node и загрузите правильные двоичные файлы для вашей системы. В качестве альтернативы вы можете рассмотреть возможность использования диспетчера версий для установки Node. У нас есть туториал по использованию менеджера версий.

Node поставляется в комплекте с npm, менеджером пакетов Node, который мы собираемся использовать для установки некоторых библиотек, которые будем использовать. Вы можете узнать больше об использовании npm здесь.

Вы можете проверить правильность установки обоих, выполнив следующие команды из командной строки:

node -v

> 12.18.4

npm -v

> 6.14.8

Первое, что вам нужно сделать, это установить Gatsby CLI. Это npmпакет, который позволяет создать сайт Гэтсби за несколько секунд. В своем терминале напишите:

npm install -g gatsby-cli

С установленным на вашем компьютере интерфейсом командной строки Gasby вы можете приступить к созданию своего веб-сайта. Я назову его sitepoint-demo, но вы можете называть его как угодно. В терминале введите:

gatsby new sitepoint-demo

После того, как Gatsby CLI установит все необходимые файлы и настроит их соответствующим образом, у вас будет полностью работающий веб-сайт Gatsby, готовый к настройке и развитию. Чтобы получить к нему доступ, перейдите в sitepoint-demoпапку:

cd sitepoint-demo

и запускаем локальный сервер:

gatsby develop

Наконец, откройте окно на http: //localhost:8000, где вы найдете свой блестящий сайт Gatsby, который выглядит примерно так:

Шаблон Гэтсби по умолчанию

Чтобы быстро запустить веб-сайт, Gatsby использует несколько официальных стартовых шаблонов, а также стартеры, предлагаемые сильным сообществом вокруг него. Сайт, который вы только что создали, использует стартер Gatsby по умолчанию, но вы можете найти гораздо больше на веб- сайте Gatsby.

Если вы хотите использовать стартер, отличный от стандартного, вам нужно указать его URL-адрес в командной строке, следуя следующему шаблону:

gatsby new [SITE_DIRECTORY_NAME] [URL_OF_STARTER_GITHUB_REPO]

Например, предположим, что вы хотите, чтобы ваш сайт выглядел в стиле Material Design. Самый быстрый способ создать его — использовать Gatsby Material Starter, введя в терминале следующую команду:

gatsby new sitepoint-demo https://github.com/Vagr9K/gatsby-material-starter

Большой! Теперь давайте взглянем на файлы в вашем новом проекте Gatsby.

Экскурсия по вашему сайту Гэтсби

Хорошим местом для начала является /src/каталог. Вот что вы найдете.

pagesКаталог

Каталог /src/pages/содержит страницы вашего сайта. Каждая страница является компонентом React. Например, код домашней страницы вашего сайта находится /pages/index.jsи выглядит следующим образом:

import React from «react»

import { Link } from «gatsby»

import Layout from «.../components/layout»

import Image from «.../components/image»

import SEO from «.../components/seo»

const IndexPage = () => (

Hi people

Welcome to your new Gatsby site.

Now go build something great.

 

 

 

 

 

Go to page 2

 

Go to «Using TypeScript»

 

)

export default IndexPage

Это типичный код для компонента React.

Компоненты позволяют разделить пользовательский интерфейс на независимые повторно используемые части и рассматривать каждую часть отдельно... Концептуально компоненты похожи на функции JavaScript. Они принимают произвольные входные данные (называемые «реквизитами») и возвращают элементы React, описывающие, что должно появиться на экране. — Реагировать документы.

componentsКаталог

Каталог /src/components/— это место, где вы найдете общие компоненты для вашего веб-сайта. Стартер по умолчанию поставляется со следующими компонентами: заголовок (header.js), изображение (image.js), макет (layout.js) и SEO (seo.js). Вы можете настроить эти компоненты и добавить свои собственные в тот же каталог.

Теперь вы готовы начать вносить изменения в свой новый сайт и настраивать его по своему вкусу.

Как внести изменения в свой сайт Gatsby

Давайте попробуем изменить сообщение, отображаемое на главной странице. Откройте pages/index.jsв редакторе кода и замените два абзаца под тегом на этот абзац:

Welcome to my SitePoint Demo Site!

Конечно, вы можете добавить любой текст между тегами.

Как только вы нажмете «Сохранить «, ваши изменения отобразятся в браузере благодаря среде разработки Gatsby с горячей перезагрузкой. Это означает, что когда вы разрабатываете сайт Gatsby, страницы отслеживаются в фоновом режиме, поэтому при сохранении вашей работы изменения будут немедленно видны без необходимости обновления страницы или перезапуска браузера.

Gatsby позволяет легко добавлять новые страницы. Например, давайте добавим страницу «О нас», создав новый файл about.jsвнутри /pages/каталога и введя следующее содержимое:

import React from «react»

const AboutPage = () => About Me

export default AboutPage

Приведенный выше код представляет собой функциональный компонент React, который отображает некоторый текст.

Сохраните свою работу и перейдите по адресу http: //localhost:8000/about, и вы должны увидеть заголовок «Обо мне» на своем экране.

Вы можете быстро перейти на новую страницу «О нас» с домашней страницы с помощью компонента Gatsby Link. Чтобы увидеть, как это работает, откройте index.jsв редакторе кода и найдите этот фрагмент кода непосредственно перед закрывающим тегом:

 

Go to page 2

Затем замените значение toсвойства на /about/и текст Перейти на страницу 2 на About:

 

About

Сохраните свою работу, и вы должны увидеть новую ссылку на экране. Нажмите на ссылку «О программе «, и вы сразу же окажетесь на странице «О программе».

Gatsby использует компонент Link для внутренних ссылок. Для внешних ссылок вы должны использовать старый добрый тег, как на обычном веб-сайте с ванильным HTML.

Теперь давайте поэкспериментируем с внешним видом вашего сайта Gatsby, изменив несколько стилей.

Стилизация вашего сайта Gatsby

Gatsby предлагает несколько вариантов применения правил стиля к вашему веб-сайту.

Глобальная таблица стилей

Знакомый вариант — использовать глобальный.cssфайл, содержащий правила, применимые ко всему веб-сайту. Для начала добавьте /styles/каталог внутри /src/каталога и добавьте в него global.cssфайл: /src/styles/global.css. Вы можете выбрать любое имя как для каталога, так и для файла таблицы стилей. Внутри global.cssдобавьте следующее объявление CSS, которое будет применяться ко всему веб-сайту:

body {

background-color: yellow;

}

Теперь сохраните свою работу. Упс, ничего не произошло! Во всяком случае, еще нет. Чтобы заставить его работать, вам нужно сделать дополнительный шаг. Откройте gatsby-browser.jsв редакторе кода и импортируйте только что созданную таблицу стилей:

import «. /src/styles/global.css»

Вернитесь в браузер, и вы увидите, что цвет фона вашего сайта стал ярко-желтым. Не идеальный выбор цвета, но он работает!

Глобальные стили с общим компонентом макета

Несмотря на то, что добавление глобальной таблицы стилей и ее импорт в gatsby-browser.jsсистему работает нормально, рекомендуемый способ добавления глобальных стилей на ваш веб-сайт Gatsby — использование общего компонента макета. Gatsby Default Starter поставляется с этим компонентом и связанной с ним таблицей стилей из коробки.

Чтобы увидеть, как это работает, давайте удалим приведенный выше оператор импорта gatsby-browser.jsи сохраним файл. Вы должны увидеть, что фон вашего сайта снова станет белым. Затем откройте layout.jsи layout.cssв редакторе кода (вы найдете оба файла внутри components/каталога).

В верхней части layout.jsобратите внимание на оператор import, который делает содержащиеся в нем правила CSS layout.cssдоступными для общего компонента макета и, следовательно, для всего веб-сайта:

import «. /layout.css»

В layout.cssнайдите объявление CSS для элемента body. Это должно быть около строки 8. Вот как это выглядит:

body {

margin: 0;

-webkit-font-smoothing: antialiased;

-moz-osx-font-smoothing: grayscale;

color: hsla (0, 0%, 0%, 0.8) ;

font-family: georgia, serif;

font-weight: normal;

word-wrap: break-word;

font-kerning: normal;

-moz-font-feature-settings: «kern», «liga», «clig», «calt»;

-ms-font-feature-settings: «kern», «liga», «clig», «calt»;

-webkit-font-feature-settings: «kern», «liga», «clig», «calt»;

font-feature-settings: «kern», «liga», «clig», «calt»;

}

Теперь добавьте правило для цвета фона, что-то вроде этого:

background-color: yellow;

Сохраните свою работу, и вы увидите, что цвет фона вашего сайта снова станет желтым.

Стили с областью действия компонента: CSS-модули

Модуль CSS — это файл CSS, в котором все имена классов и имена анимаций по умолчанию ограничены локально.

С модулями CSS ваши стили применяются только к определенному компоненту, что помогает сохранять компоненты автономными и, следовательно, простыми в обслуживании и повторном использовании.

Модули CSS поставляются в комплекте с Gatsby из коробки, и документация рекомендует этот способ добавления стилей к компонентам Gatsby и компонентам React в целом.

Выполните следующие действия, чтобы добавить компонент абзаца на страницу «О нас».

Создайте компонент Fancy Paragraph

Внутри /components/каталога вашего проекта на основе Gatsby Default Starter создайте файл и назовите его fancy-paragraph.js.

Откройте fancy-paragraph.jsв редакторе кода и введите следующий код:

import React from «react»

import fancyParagraphStyles from «. /fancy-paragraph.module.css»

const FancyParagraph = (props) =>

{props.paragraphText}

export default FancyParagraph

Это простой функциональный компонент React — ничего нового, кроме оператора, который импортирует CSS-модульfancy-paragraph, который мы еще не создали.

Компонент использует стили, содержащиеся в модуле fancy-paragraph, в качестве значения внутри classNameсвойства. Как видите, это значение очень похоже на обычный объект JavaScript.fancy, который использует имя класса в качестве fancyParagraphStylesсвойства объекта. Вы напишете стили для этого класса в своем модуле CSS.

Создайте CSS-модуль Fancy Paragraph

Внутри /components/создайте еще один файл и назовите его fancy-paragraph.module.css. Откройте этот файл и настройте.fancyкласс так, как вам захочется. Это обычный CSS. Вот как выглядит мой:

.fancy {

font-size: 1.5rem;

text-align: center;

line-height: 1.2;

padding: 0.5rem;

color: #fff;

background-color: rebeccapurple;

font-weight: 800;

font-style: italic;

text-transform: uppercase;

}

Теперь вы готовы использовать свой FancyParagraphкомпонент с вашими причудливыми стилями в любом месте вашего сайта Gatsby.

Давайте добавим модный абзац на вашу страницу «О нас».

Добавьте компонент Fancy Paragraph на страницу About

Начните с добавления этих двух операторов импорта на страницу «О нас», чуть ниже уже существующего импорта React:

import Layout from «.../components/layout»

import FancyParagraph from «.../components/fancy-paragraph»

Приведенный выше фрагмент делает компонент Gatsby Layout, который вы собираетесь использовать на странице «О программе», и компонент «Необычный абзац», который вы только что создали, доступными для вашей страницы «О программе».

Затем измените свой AboutPageфункциональный компонент, чтобы он выглядел следующим образом:

const AboutPage = () => (

About Me

 

)

Ваш новый компонент работает так же, как и любой другой компонент React. Просто поместите его на страницу именно в том месте, где вы хотите, чтобы он появился, и все готово. Этот конкретный компонент использует реквизиты React, чтобы сделать текст абзаца более динамичным.

Сохраните свою работу и перейдите на страницу «О программе», где вы должны увидеть свой причудливый абзац во всей красе. Мой выглядит так:

О странице, оформленной с помощью модулей CSS

Миссия выполнена!

Стили области компонента: встроенные стили

Встроенные стили CSS в виде объекта JS — это дополнительный вариант оформления, который вы можете использовать.

Ваш проект Gatsby Default Starter демонстрирует эту технику в действии. Например, откройте index.jsв своем редакторе и найдите этот код внутри IndexPageкомпонента:

 

 

 

 

Обратите внимание, как стили CSS применяются к элементу

, содержащему Imageкомпонент: стили принимают форму объекта JS, где имена свойств CSS являются ключами, а значения CSS — их соответствующими значениями.

 

Кроме того, обратите внимание, что в составных именах свойств CSS отсутствует символ тире (-) и вместо него используется соглашение camelCase — например, marginBottom, а не CSS margin-bottom.

Добавление контента на ваш сайт Gatsby

Дополнительным преимуществом построения с помощью Gatsby является возможность получать данные практически из любого места. Как следствие, вы не ограничены созданием статических сайтов, которые обычно основаны на Markdown, и ваша команда может легко управлять контентом, используя серверную часть по своему выбору.

Множество специализированных плагинов позволяют Gatsby извлекать данные из нескольких источников — например, файловой системы, API, WordPress и т. д. — и объединять данные в один слой данных, который можно передать на ваш веб-сайт.

Для простых веб-сайтов также можно обойти уровень данных Gatsby и заполнить свой сайт без использования GraphQL или каких-либо исходных плагинов. Этот подход, также известный как подход с неструктурированными данными, позволяет вам извлекать данные и использовать их в createPageдействии внутри createPagesAPI. Хотя получение данных из API достаточно знакомо разработчикам JavaScript и, следовательно, может быть более привлекательным, чем использование GraphQL, недостатком является то, что отказ от уровня данных Gatsby также означает отказ от многих преимуществ, которые он предоставляет, таких как производительность., горячая перезагрузка во время разработки, быстрая оптимизация изображений и многое другое.

Ознакомьтесь с этим репозиторием GitHub, если вы хотите узнать больше о подходе к неструктурированным данным.

Ручной ввод запросов GraphQL на страницу Gatsby

Если у вас есть одна или две страницы с очень небольшим содержанием, которое почти не меняется, вы можете даже жестко закодировать текст прямо в страницу Гэтсби, как мы сделали в демонстрации выше.

Если вам нужно получить простые данные, такие как название и описание сайта, вы можете ввести запрос GraphQL прямо на страницу. Для этого полезно ознакомиться с GraphiQL, GraphQL IDE (интегрированная среда разработки) для создания запросов GraphQL, к которым вы можете получить доступ на http: //localhost:8000/___graphql.

Допустим, вы хотите отобразить заголовок своего сайта на странице. Во-первых, убедитесь, что заголовок уже находится внутри gatsby-config.js. Мой выглядит примерно так; вы можете ввести любой заголовок, который вы предпочитаете, или оставить заголовок по умолчанию:

module.exports = {

siteMetadata: {

title: `SitePoint Demo Gatsby Site`,

...

},

...

Затем создайте запрос GraphQL с помощью GraphiQL. Наконец, внесите следующие изменения в начальную страницу 2 (src/pages/page-2.js), которая теперь должна выглядеть следующим образом:

const SecondPage = ({data}) => (

Welcome to {data.site.siteMetadata.title}

I have used a GraphQL query

 

Go back to the homepage

 

)

export const query = graphql`

query testQuery {

site {

siteMetadata {

title

}

}

}

`

export default SecondPage

Обратите внимание, что мы dataпередаем свойство компоненту, содержащему результаты запроса GraphQL.

Перезапустите сервер, и вы сможете увидеть заголовок сайта, отображаемый на странице 2 (http: //localhost:8000/page-2/).

Данные о названии сайта с использованием GraphQL

Однако этот метод имеет смысл только в том случае, если человек, который управляет контентом, знаком с кодированием. Кроме того, если вы однажды решите изменить текст, вам придется искать страницы в каталоге вашего проекта и вручную заменять содержимое.

Все подробности об этом подходе вы можете прочитать в Gatsby docs.

Извлечение данных из файловой системы

Вы можете использовать плагин gatsby-source-filesystem для получения данных в ваше приложение Gatsby из вашей локальной файловой системы. Этот подход может быть знаком людям, которые работали с такими генераторами статических сайтов, как Jekyll или Hugo.

В стартере Gatsby по умолчанию этот плагин уже установлен, в чем вы легко можете убедиться, открыв gatsby-config.jsв редакторе кода:

plugins: [

`gatsby-plugin-react-helmet`,

{

resolve: `gatsby-source-filesystem`,

options: {

name: `images`,

path: `${__dirname}/src/images`,

},

},...

После получения данных вам понадобится подключаемый модуль преобразования, который поможет вам преобразовать файловые узлы в различные типы данных, которые вы можете использовать на своем сайте — например, gatsby-transformer-jsonдля данных JSON, gatsby-transformer-remarkдля файлов Markdown и т. д.

Найдите все подробности в этом разделе документов Гэтсби.

Если вы выберете файлы Markdown в качестве источника данных для своего сайта Gatsby, у вас будет возможность встроить повторно используемые компоненты JSX в текст с gatsby-plugin-mdxпомощью подключаемого модуля Gatsby, который добавляет поддержку MDX на ваш сайт. Вот преимущества:

Это полезно на сайтах, ориентированных на контент, где вам нужна возможность вводить такие компоненты, как диаграммы или оповещения, без необходимости настраивать плагин. Он делает упор на композицию, а не на конфигурацию, и действительно сияет интерактивными сообщениями в блогах, документированием систем дизайна или длинными статьями с захватывающими или динамическими взаимодействиями. — Документы Гэтсби.

Безголовая CMS

CMS расшифровывается как система управления контентом. Традиционная CMS предлагает как внутреннюю, так и внешнюю функциональность. Безголовая или несвязанная CMS ограничивается только серверной частью, тем самым оставляя все внешние проблемы на усмотрение разработчиков. Такое расположение идеально подходит для таких генераторов сайтов, как Gatsby, поскольку позволяет членам группы по работе с контентом по-прежнему использовать свой любимый интерфейс администратора, в то время как разработчики в полной мере пользуются преимуществами использования Gatsby, React и GraphQL.

Популярные платформы CMS, такие как WordPress, Drupal, Contentful, Sanity и многие другие, предлагают безголовую поддержку, а экосистема Gatsby предоставляет соответствующие плагины и руководства, которые помогут вам в интеграции.

Прочтите эту статью из документации Gatsby, чтобы узнать больше о получении данных из выбранной вами CMS.

Развертывание вашего сайта Gatsby

Есть компании, которые делают размещение статических веб-сайтов очень быстрым и удобным. Среди самых популярных:

Нетлайф

Amazon S3

Страницы GitHub

Хостинг Firebase

Развертывание вашего веб-сайта Gatsby в Netlify

Давайте используем Netlify для запуска вашего нового веб-сайта Gatsby. Netlify обеспечивает «все-в-одном рабочий процесс, который сочетает в себе глобальное развертывание, непрерывную интеграцию и автоматический HTTPS».

Он отлично подходит для размещения статических веб-сайтов.

Во-первых, вам нужно создать производственную сборку вашего проекта Gatsby. Для этого введите в терминале следующую команду:

gatsby build

Теперь у вас есть папка с именем public, содержащая все статические файлы, необходимые вашему веб-сайту для запуска в браузере.

Следующий шаг состоит в том, чтобы поместить ваш проект Gatsby в репозиторий, такой как GitHub. Netlify поддерживает GitHub, GitLab или Bitbucket: каждый раз, когда вы отправляете изменения в свой код, Netlify запускает сборку с помощью выбранного вами инструмента и развертывает результаты в своей быстро загружаемой CDN.

Чтобы начать, просто войдите в Netlify, выберите «Новый сайт из Git «, выберите свой репозиторий, введите команду сборки и имя вашей общей папки, затем нажмите «Развернуть сайт «.

Подробно ознакомиться с процессом развертывания можно в этой статье на сайте Gatsby docs.

Поздравляем, ваш веб-сайт Gatsby запущен!

Еще немного о процессе сборки

Выполнение команды сборки перед развертыванием создает производственную версию вашего веб-сайта на основе Gatsby со всеми необходимыми оптимизациями, необходимыми для высокой производительности и удобного взаимодействия с пользователем. Статические HTML-страницы, которые Гэтсби создает во время этого процесса, в свою очередь, регидратируются в приложение React. Это означает, что когда страницы Gatsby запускаются в веб-браузере, загружается код JavaScript, что позволяет манипулировать DOM и т. д. Другими словами, ваш сайт становится полноценным приложением React.

Вы можете прочитать подробности в документах Гэтсби.

Облако Гэтсби

В 2019 году Кайл Мэтьюз, основатель Gatsby, объявил о запуске Gatsby Cloud. По его словам, Gatsby Cloud

коммерческая платформа стабильных надежных инструментов, которые позволяют создателям веб-сайтов создавать более качественные веб-сайты. Gatsby Cloud дополняет нашу платформу сетки контента совместимыми готовыми решениями для более быстрого запуска веб-сайтов и достижения успеха в бизнесе. — Анонс Gatsby Cloud

Другими словами, Gatsby Cloud — это облачная инфраструктура, которая предлагает множество преимуществ при создании, обновлении и развертывании веб-сайта Gatsby. Особенности включают в себя:

Cloud Quickstart, который позволяет нетехническим пользователям создавать проекты за считанные минуты, используя CMS, некоторый фиктивный контент и стартер Gatsby.

Предварительный просмотр в реальном времени, который отлично подходит для предварительного просмотра изменений в реальном времени и в контексте, тем самым облегчая общение и сотрудничество между членами команды, работающими над вашим веб-сайтом.

Интеграция с CMS, которая выполняется быстро и безболезненно, используя плагины, доступные для сотен систем управления контентом и API.

Добавочные сборки — функция Gatsby Cloud, представленная в апреле 2020 года. Когда данные изменяются в выбранной вами CMS, добавочные сборки будут перестраивать только то, что требуется, что, как следствие, дает значительный прирост производительности.

И еще много...

Плагины Гэтсби

Многие сверхспособности Гэтсби происходят от плагинов. Плагины Gatsby — это пакеты Node.js, которые вы можете установить в своем проекте с помощью npm. Экосистема Gatsby предлагает массу плагинов, которые позволяют делать практически все что угодно. Я уже упоминал о роли плагинов для сбора данных из нескольких источников и подготовки их к использованию веб-сайтом Gatsby, но есть также плагины для добавления предварительно упакованных функций с темами, автоматической интеграции сторонних сервисов, таких как Google Analytics. создание страниц из компонентов React, обработка файлов SCSS/Sass и многое другое.

Если JavaScript — ваш хлеб с маслом, вы также можете попробовать свои силы в создании собственных плагинов. Посетите страницу разработки плагина Gatsby для получения более подробной информации.

Следующие шаги и ресурсы

Чтобы по-настоящему освоить Gatsby, зайдите на его веб-сайт и ознакомьтесь с официальным руководством и документацией. Я думаю, что они на высшем уровне.

Кроме того, чтобы получить максимальную отдачу от Gatsby, я рекомендую вам научиться манипулировать данными с помощью GraphQL. Воспользуйтесь потрясающими обучающими материалами на веб-сайте GraphQL.

3D-печать5GABC-анализAndroidAppleAppStoreAsusCall-центрChatGPTCRMDellDNSDrupalExcelFacebookFMCGGoogleHuaweiInstagramiPhoneLinkedInLinuxMagentoMicrosoftNvidiaOpenCartPlayStationPOS материалPPC-специалистRuTubeSamsungSEO-услугиSMMSnapchatSonyStarlinkTikTokTwitterUbuntuUp-saleViasatVPNWhatsAppWindowsWordPressXiaomiYouTubeZoomАвдеевкаАктивные продажиАкцияАлександровск ЛНРАлмазнаяАлчевскАмвросиевкаАнализ конкурентовАнализ продажАнтимерчандайзингАнтрацитАртемовскАртемовск ЛНРАссортиментная политикаБелгородБелицкоеБелозерскоеБердянскБизнес-идеи (стартапы)БрендБрянкаБукингВахрушевоВендорВидеоВикипедияВирусная рекламаВирусный маркетингВладивостокВнутренние продажиВнутренний маркетингВолгоградВолновахаВоронежГорловкаГорнякГорскоеДебальцевоДебиторкаДебиторская задолженностьДезинтермедитацияДзержинскДивизионная система управленияДизайнДимитровДирект-маркетингДисконтДистрибьюторДистрибьюцияДобропольеДокучаевскДоменДружковкаЕкатеринбургЕнакиевоЖдановкаЗапорожьеЗимогорьеЗолотоеЗоринскЗугрэсИжевскИловайскИрминоКазаньКалининградКировскКировскоеКомсомольскоеКонстантиновкаКонтент-маркетингКонтент-планКопирайтингКраматорскКрасноармейскКрасногоровкаКраснодарКраснодонКраснопартизанскКрасный ЛиманКрасный ЛучКременнаяКураховоКурскЛисичанскЛуганскЛутугиноМакеевкаМариупольМаркетингМаркетинговая информацияМаркетинговые исследованияМаркетинговый каналМаркетинг услугМаркетологМарьинкаМедиаМелекиноМелитопольМенеджментМерчандайзерМерчандайзингМиусинскМолодогвардейскМоскваМоспиноНижний НовгородНиколаевНиколаевкаНишевой маркетингНовоазовскНовогродовкаНоводружескНовосибирскНумерическая дистрибьюцияОдессаОмскОтдел маркетингаПартизанский маркетингПервомайскПеревальскПетровскоеПлата за кликПоисковая оптимизацияПопаснаяПравило ПаретоПривольеПрогнозирование продажПродвижение сайтов в ДонецкеПроизводство видеоПромоПромоушнПрямой маркетингРабота для маркетологаРабота для студентаРазработка приложенийРаспродажаРегиональные продажиРекламаРеклама на асфальтеРемаркетингРетро-бонусРибейтРитейлРовенькиРодинскоеРостов-на-ДонуРубежноеСамараСанкт-ПетербургСаратовСватовоСвердловскСветлодарскСвятогорскСевастопольСеверодонецкСеверскСедовоСейлз промоушнСелидовоСимферопольСинергияСколковоСлавянскСнежноеСоздание сайтов в ДонецкеСоледарСоциальные сетиСочиСтаробельскСтаробешевоСтахановСтимулирование сбытаСуходольскСчастьеТелемаркетингТельмановоТираспольТорговый представительТорезТрейд маркетингТрейд промоушнТюменьУглегорскУгледарУкраинскХабаровскХарцызскХерсонХостингЦелевая аудиторияЦифровой маркетингЧасов ЯрЧелябинскШахтерскЮжно-СахалинскЮнокоммунаровскЯндексЯсиноватая