Цели:

В этой статье я нацелен на достижение следующих четырех (4) целей за 24 шага. Они есть:

  1. Преобразование базового шаблона веб-сайта Bootstrap в веб-сайт на базе Gatsby
  2. При необходимости разработать кастомный компонент
  3. Разверните веб-сайт Gatsby на Netlify CMS
  4. Проведение обзора скорости загрузки страниц в Google

Так что же такое Гэтсби? Чтобы понять, нам нужно немного понять современный стек веб-разработки.

Первоначально, когда Интернет только появился, все веб-сайты были статическими и состояли из статических файлов HTML, CSS с изображениями и ссылками. Затем появилась тенденция создания динамических веб-сайтов (например, клиент / сервер), где сценарий (например, PHP, ASP и т. Д.) Будет считывать данные из базы данных и на лету генерировать HTML. По той же тенденции возникла концепция CMS (систем управления контентом), таких как Wordpress, Drupal, Sitecore и так далее. Современная тенденция веб-разработки заключается в использовании JAMStack, где сайты разрабатываются с использованием Javascript для извлечения данных с использованием многократно используемых API-интерфейсов, где контент предварительно создается с помощью языка разметки. Эти сайты компилируются и встраиваются в статические страницы с использованием любых генераторов статических сайтов и развертываются на статических веб-хостах, таких как Netlify, Amazon S3, страницы Github и т. Д.

Гэтсби

Gatsby - это генератор статических сайтов, который разделяет данные, разработку и редактирование контента. Gatsby - это плагин, богатый различными источниками данных, где разработчики используют GraphQL для получения данных и React.JS для представления этих данных. Создатели контента могут создавать / редактировать контент в любой автономной CMS, такой как Contentful, Ghost CMS или даже Wordpress. Сайт состоит из нескольких скомпилированных статических файлов, которые можно развернуть на любом статическом веб-хосте Netlify, Amazon и т. Д.

Прежде чем мы пройдем по шагам, убедитесь, что вы установили:

  1. Узел и NPM: посетите страницу загрузки node.js и установите узел и npm. Выполните следующую команду в командной строке, чтобы убедиться, что у вас установлены Node и NPM:

узел -v && npm -v

  1. Git: посетите Github и зарегистрируйте бесплатную личную учетную запись. Также скачайте и установите Git на свой локальный компьютер.
  2. Интерфейс командной строки Gatsby: установите инструмент командной строки Gatsby с помощью следующей команды

npm install - глобальный gatsby-cli

Итак, теперь давайте начнем с шагов:

Шаг 1

Создайте новый веб-сайт Gatsby по умолчанию в папке «Скоро»

Гэтсби скоро приедет

Это должно создать новый базовый веб-сайт Gatsby и установить модули npm. Если установка прошла успешно, все, что вам нужно сделать, это запустить следующую команду в терминале для обслуживания веб-сайта по умолчанию.

Гэтсби разработать

Теперь откройте браузер и перейдите по адресу http: // localhost: 8000, чтобы посетить основной веб-сайт Gatsby.

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

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

Итак, я сделал следующие шаги, чтобы решить проблему:

  1. Закройте окно терминала
  2. Откройте новое окно терминала от имени администратора (т. Е. «Запуск от имени администратора»).
  3. Перейдите в папку вашего проекта (в моем случае «скоро»)
  4. Затем установите пакет npm с помощью команды

npm install

  1. По завершении запустите gatsby develop, чтобы запустить сайт Gatsby в режиме разработки.
  2. Откройте браузер и перейдите по адресу http: // localhost: 8000 », чтобы просмотреть исходный сайт Гэтсби (тот же сайт, что и фиолетовый выше).

Структура сайта Гэтсби

Теперь перейдите в эту папку (т.е. скоро) или откройте ее в любом редакторе (я использовал Visual Studio Code)

Там довольно много папок. Но мы сконцентрируемся на папке «src», над которой мы будем работать больше. Под исходным кодом есть три папки:

  • Компоненты: Содержит все пользовательские компоненты, созданные для этого сайта.
  • Изображения: содержит все изображения.
  • Страницы: здесь хранятся все страницы этого веб-сайта. Компилятор Gatsby будет искать файлы JS внутри этой папки и компилировать их в доступные ссылки на страницы.

На странице /pages/index.js вы можете увидеть компонент-оболочку ‹Layout /›, который обертывает содержимое этой страницы.

Если вы проанализируете page-2.js, вы увидите, что тот же компонент ‹Layout /› оборачивает содержимое page2 внутрь. Просто имейте это в виду, и мы поговорим об этом позже.

Большой. И что теперь? Что ж, сейчас начинается основная разработка, которая заключается в преобразовании веб-сайта Bootstrap в веб-сайт на базе Gatsby. Выполните следующие шаги:

Шаг 2

Я выбрал простую тему Bootstrap с сайта startbootstrap.com. Скачайте исходный код темы Скоро в продаже.

После распаковки папка выглядит следующим образом:

Шаг 3

Теперь откройте папку сайта Gatsby (то есть папку скоро) и создайте новую папку с именем dist в / src на том же уровне, что и папка components.

Шаг -4

Скопируйте следующие папки из папки Bootstrap в папку / src / dist вашего веб-сайта Gatsby:

  • css
  • img
  • mp4
  • продавец

Шаг -5 (интеграция CSS)

Давайте откроем файл index.html темы Bootstrap, чтобы увидеть, какие CSS там интегрированы:

Вы увидите три типа CSS:
1. Загрузочный CSS
2. Google Font CSS
3. Пользовательский CSS

Откройте файл /comingsoon/src/components/layout.css, удалите все и добавьте следующие две строки:

@Import ‘../dist/vendor/bootstrap/css/bootstrap.min.css’;
@import ‘../dist/css/coming-soon.css’;

Что будет включать в проект Bootstrap CSS и Custom CSS.

Теперь, чтобы добавить шрифт Google, мы можем использовать готовый плагин Gatsby «gatsby-plugin-google-fonts».

npm install –save gatsby-plugin-google-fonts

для установки плагина.

Откройте файл gatsby-config.js в корневой папке вашего проекта (т.е. вне папки src) и добавьте следующий элемент в массив плагинов:

{
resolve: `gatsby-plugin-google-fonts`,
параметры: {
шрифты: [
` Source Sans Pro \: 200,200i, 300,300i, 400,400i, 600,600i, 700,700i, 900,900i`,
`Merriweather \: 300,300i, 400,400i, 700,700i, 900,900i`
]
}
},

Это завершает интеграцию CSS для этого сайта.

Шаг -6

Теперь нам нужно поработать над компонентом оболочки ‹Layout /›
1. Откройте /comingsoon/src/components/layout.js
2. Удалите коды, связанные с компонентами заголовка (например, строки 5 и 21).
3. Удалите встроенный CSS (строки 22–29)
4. Удалите нижний колонтитул (строки 31–35)
Теперь оболочка с Bootstrap CSS готова, и мы можем начать работу над домашней страницей шаблона «Скоро в продаже».

Шаг -7 (Интеграция контента)

Откройте /src/pages/index.js и удалите текущее содержимое (т.е. строки 11–17, все, что находится между тегами макета, кроме тега SEO).

Скопируйте все содержимое между тегами ‹body› из index.html шаблона Bootstrap. Исключите теги ‹script›.

Я думаю, у вас довольно много ошибок. Пока не обращайте на них внимания. Мы скоро их решим. Теперь в коде index.js

1. Замените все «class =» на «className =».

2. Добавьте / ›для любого отдельного элемента HTML-тегов, таких как ввод, источник и т. Д.

3. Создайте переменную const для связанных изображений и видео (т.е. все, что связано с помощью src, должно ссылаться на переменную).

Итак, мы создали ссылку на наш файл bg.mp4:

const bgVideo = require (‘../ dist / mp4 / bg.mp4’)

и обновил источник, как показано ниже:

‹Video playsinline =” playsinline ”autoplay =” autoplay ”muted =” muted ”loop =” loop ”›
‹source src = {bgVideo} type =» video / mp4 / ›
‹/video›

В этом шаблоне нет изображения. Таким образом, больше не нужно создавать ссылку.

Шаг -8

Теперь мы видим значки Twitter, Facebook и Instagram, которые нам нужно интегрировать. Мы собираемся использовать для этого модуль npm «react-icons». Находясь внутри папки «пришествие скоро», выполните

npm install react-icons –save

для установки модуля react-icons.

Посетите https://react-icons.netlify.com/#/icons/fa, чтобы найти свой значок.
Нам нужно добавить следующую строку для импорта иконок для Twitter, Facebook и Instagram:

импортировать {FaTwitter, FaFacebookF, FaInstagram} из «react-icons / fa»

затем замените

‹i className =” fab fa-twitter ”› ‹/i› С ‹FaTwitter /›

Проделайте то же самое с двумя другими значками.

Шаг -9

Запустите gatsby develop, чтобы скомпилировать сайт в режиме разработки.
Посетите http: // localhost: 8000, чтобы увидеть, как выглядит сайт.
Выглядит идеально, за исключением того, что синяя часть не имеет стопроцентной высоты.

Я добавил следующее исправление CSS в layout.css, чтобы решить эту проблему.

#___ gatsby, # bodycontent, # ___ gatsby ›div {
height: 100%;
width: 100%;
}

.masthead {
height: 100%;
min-height: 0;
width: 40,5rem;
padding-bottom: 0;
}

Теперь выглядит идеально.

Шаг -10 (Раздел информационного бюллетеня)

Теперь нам нужно поработать над разделом рассылки.

Создайте новый файл newsletter.js в папке / src / components, в котором будет храниться код для нашего компонента информационного бюллетеня.

Шаг -11

Теперь в файле index.js добавьте компонент Newsletter.

импортировать информационный бюллетень из ‘../components/newsletter’

и замените код рассылки

‹Div className =” input-group input-group-newsletter ”›
‹input type =” email ”className =” form-control ”placeholder =” Enter email… ”aria-label =” Enter email… ”aria -describedby = ”basic-addon” / ›‹ div className = ”input-group-append” ›
‹ button className = ”btn btn-secondary” type = ”button” ›Уведомить меня! ‹/button› < br /> ‹/div›
‹/div›

С участием

Я использую MailChimp в качестве платформы для рассылки новостей. Таким образом, этот компонент должен добавить адрес электронной почты в список MailChimp по моему выбору. К счастью, у Гэтсби есть готовый плагин для этого. Это «gatsby-plugin-mailchimp».

npm install - сохранить gatsby-plugin-mailchimp

для установки плагина.

Теперь добавьте плагин в файл gatsby-config.js, как показано ниже:

{
resolve: ‘gatsby-plugin-mailchimp’,
параметры: {
конечная точка: ‘’,
},
},

Теперь нам нужно добавить URL-адрес конечной точки моего списка.

Проверьте URL-адрес https://www.gatsbyjs.org/packages/gatsby-plugin-mailchimp/, чтобы узнать, как получить конечную точку списка MailChimp. Это будет что-то вроде (возьми свой):

https://example.us10.list-manage.com/subscribe/post?u=b9ef2fdd3…

Шаг -12

Запустите gatsby develop и протестируйте подписку на информационный бюллетень. В соответствии с вашей подпиской на MailChimp вы должны иметь возможность получать электронные письма.

Развертывание в Netlify

Перед тем, как приступить к этим шагам, убедитесь, что вы создали свою учетную запись Github.

Шаг -13

Посетите https://github.com/muntasirjoarder/gatsby-comingsoon-bootstrap

Шаг -14

Нажмите кнопку «Развернуть в Netlify».

Шаг -15

Теперь подключитесь к своей учетной записи Github

Шаг -16

Дайте ему имя репозитория, которое вы предпочитаете. Вы можете оставить его таким же. Теперь сохраните и разверните.

Шаг -17

Вы увидите «Выполняется развертывание сайта». Вы увидите «Ошибка развертывания сайта». Не волнуйся. Это потому, что нам нужно определить некоторые переменные среды в Netlify, а затем повторно развернуть их.

Шаг -18

Перейдите в «Настройки сайта» «Сборка и развертывание» и найдите «Переменные среды сборки». Добавьте следующие переменные (с вашей информацией)

Шаг -19

Теперь перейдите в «Обзор»

Шаг -20

Нажмите «Ошибка развертывания сайта».

Шаг -21

Нажмите на главную ГОЛОВУ, которая вышла из строя последней.

Шаг -21

Нажмите «Очистить кеш и развернуть».

Шаг -22

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

Шаг -23

И ваш сайт доступен по ссылке, созданной Netlify. Вы можете изменить его на удобочитаемое имя. Кроме того, вы можете указать свой собственный домен на этот веб-сайт Netlify. На этом этапе вы преобразовали свою тему Bootstrap в веб-сайт Gatsby.

Шаг -24

Теперь перейдите на страницу Google Page Speed ​​Insight и введите адрес своего веб-сайта, чтобы проверить результат. Я обнаружил, что для Desktop я набрал 100/100, даже ничего не делая. Это оптимизация "из коробки" от Гэтсби.

В настоящий момент ваш веб-сайт Netlify развернут как «Непрерывное развертывание» и указывает на ваш репозиторий Github.

Любое изменение кода в вашем репозитории Git приведет к автоматической сборке и развертыванию веб-сайта Netlify. Отлично, не правда ли?

На сегодня моя статья заканчивается, а URL-адрес моего сайта:

Https://ledgerchain.netlify.com/

У вас будет что-то еще.

Теперь вы можете делать несколько вещей:

  • Изменить URL: перейдите в раздел Сведения о сайтеИзменить имя сайта и попробуйте указать свое имя. Если имя не занято, вы можете это получить. Получил https://ledgerchain.netlify.com. Не стесняйтесь посетить мой список рассылки и подписаться на него. Я вернусь к вам с интересными статьями и предложениями.
  • Добавить собственный домен: я не обсуждаю это сегодня.
  • Добавьте карту сайта, посещение офлайн-страницы, добавление схемы и т. Д.
  • Вы также можете создать несколько страниц на своем сайте.

Я перенес свой личный сайт https://muntasirjoarder.net/ в Gatsby, что дало мне огромный прирост скорости.

Сегодня до этого. Я планирую написать более подробные статьи о разработке веб-приложений в Gatsby. Так что следите за обновлениями.