Рубрики
Без рубрики

Хочу услышать шутку? – практическое введение в стек джема

Вы узнаете о архитектуре стека варенья, создавая приложение Mini JavaScript.

Автор оригинала: Martins Victor Onuoha.

Что такое стек джема?

Если вы в разработке веб-разработки и имеете в одном или другой обработании с одним или двумя или двумя каркасами JavaScript, то, скорее всего, вы нашли условия Mern, среднего и последнего стека Mevn. Если вы как я похоже на меня и не слышал ни о чем из них, а только только гугул его сейчас выглядеть умным 😂, то вот краткое объяснение.

Мерн обозначает М Онго Е Xpress R ECT и N odejs. Это аббревиатура рамок, используемых в создании современных веб-приложений. В то время как среднее и MeVn одинаковы, кроме угловых и Vue, используются здесь альтернативные рамки Frontend. В любом из этих стеков MongoDB служит вашей без реляционной базы данных во время ExpressJS и NODEJS, ваш веб-сервер. Одним из этих стеков является наличие веб-сервера. Это где стек варенья отличается.

Застревание означает Markup API JavaScript, сокращение технологий, используемых в создании веб-приложения. Вот довольно простое объяснение того, что стек джема из официального сайта JamStack:

Современная архитектура для создания быстрых, безопасных сайтов и динамических приложений с JavaScript, API и предварительно отображаемой разметкой, подается без веб-серверов.

Почему нужно?

Из определения, «без веб-серверов» предназначен для смелого текста, потому что это основное представление о цепочке варенья. С степом варенья, передние разработчики могут построить полезные функциональные веб-приложения без необходимости в бэкэнде.

Благодаря вашему навыку Frontend вы можете построить потрясающие полезные приложения благодаря спецификации JamStack.

Некоторые примеры существующих сайтов, построенных со стеком джема:

Чтобы узнать больше о JamStack, посмотрите официальный веб-сайт jamstack: https://jamstack.org/

Практический пример

1 * kn0hrirt3yhip8zrvjjudq.png.png.

Мы будем строить отмышенные. Открытый – это коллекция случайных шуток Чака Норриса. Если вы не уверены, кто Jon Skeet, он неизменно упоминается как Чак Норрис программирования. Я немного упомянул о нем здесь:

Решение проблем взлома – Мартинс Ойуоха

Предпосылки

  • Основные знания HTML, CSS и JavaScript
  • Знакомство с API api javaScript.
  • Мы будем работать с API apensource Internet Chuck Norris База данных API

Структура папки

У нас есть основная структура папки, вы можете игнорировать папку IMG.

1 * wzzo4zn-k - hpaoou-cfmg.png

Разметка

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

  • Однако я буду использовать Materizecss, не стесняйтесь использовать все, что вы хотите для стилизации.
  • Для рендеринга контента и семантической шаблоны я буду использовать ручки
1 * znktomptoier8qn5mrthg.png.

Если вы проверили Живой пример Вы заметите предварительный загрузчик незадолго до нагрузки страницы. Навкар приходит сразу после предварительного загрузчика.

1 * osuvh-zaxh3xnkx-wwrh4a.png
1 * CJQIA_ZSF3-NXXQJZP7Z1A.PNG

Далее мы построим контент, чтобы показать пользователя в случае неисправной нагрузки страницы.

1 * vdbsiczfildc-cmqafro0w.png

Для рендеринга контента мы используем ручки, HandleBarjs – это минимальный механизм шаблонов. Шаблоны рульки выглядят как обычный HTML, с встроенными выражениями руль. Эти выражения имеют формат, подобный так {{Некоторое выражение}} Отказ Эти выражения могут легко представлять содержимое динамически, один из которых является {{каждый}} который работает как регулярный для цикла в JavaScript.

1 * adtf-phh2m12i2o8fl8sa.png

Обратите внимание, у нас есть кнопка для реагирования на шутки. Я прикрепил мероприятие Щелните к кнопке, называемую функцией LMFAO (ужасный выбор имени) и передал идентификатор шутки в качестве аргумента.

1 * cgjijjqkqwwvsj9qlvlxhg.png.

Мы также нуждаемся в подсказке незадолго до закрытия приложения.

1 * Sex1p2fagkf1iau3bjfdaq.png.

Наконец, мы включаем скрипты внизу, прямо перед тегом закрытия тела:

1 * ymhuleqnlpwjufddrzxdwq.png.

Стили

Давайте добавим немного стайлинга для предварительного догрузчика и контента карты:

1 * 0UYUFV8ZN7MDXCBKKTZR5W.PNG.PNG.

API.

Ранее я упоминал, что мы будем использовать ICNDB.comAPI. Они обеспечивают конечную точку для привлечения случайных шуток, а также ограничивают количество шуток для получения на запрос. Конечная точка будет выглядеть так:

https://api.icndb.com/jokes/random/10

Посмотрим, как будет выглядеть структура нашего ответа JSON:

1 * tgy98gjlzeqnv8xwy5H6xa.png.png.

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

1 * am4itnv9tccib4xwyh4bwg.png.png.

Далее мы называем функции GetData и Showtip после загрузки страницы:

1 * nscak5rai2nhapgizcveq.png.

Давайте реализуем getdata Функция:

Использование функции FIRCH JavaScript мы отправим запрос на конечную точку, получите ответ JSON и установите его в качестве значения ключа «шутки» объекта контекста. Мы также схватив содержание элемента сценария и составьте его на шаблон, чтобы его можно было выполнить. Наконец, мы визуализировать скомпилированный шаблон:

1 * vr-oqfprtwvvn_k - jgyzg.png

Далее мы реализуем функцию Showtip:

1 * EopyeoOl5z4bezrn6_mo7rg.png.

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

1 * 9vc9uldorr5s3g3ivk31gg.png.png.

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

Обязательно прочитайте больше на экосистеме Shah Stack и возьмите руки с практикой.

Вы можете найти живой пример здесь. Исходный код также живет здесь.

Ваше здоровье. 🍻.