Содержание. Начало работы · Bootstrap. Версия v4.0.0
Узнайте, что включено в Bootstrap, включая наши перекомпилированные данные и исходные коды. Помните, что для плагинов JavaScript Bootstrap’у требуется jQuery.
Предварительно компилированный Bootstrap
Строение скачанного архива BS4 будет таким:
bootstrap/
├── css/
│ ├── bootstrap.css
│ ├── bootstrap.css.map
│ ├── bootstrap.min.css
│ ├── bootstrap.min.css.map
│ ├── bootstrap-grid.css
│ ├── bootstrap-grid.css.map
│ ├── bootstrap-grid.min.css
│ ├── bootstrap-grid.min.css.map
│ ├── bootstrap-reboot.css
│ ├── bootstrap-reboot.css.map
│ ├── bootstrap-reboot.min.css
│ └── bootstrap-reboot.min.css.map
└── js/
├── bootstrap.bundle.js
├── bootstrap.bundle.min.js
├── bootstrap.js
└── bootstrap.min.js
Это базовая форма Bootstrap: перекомпилированные файлы для быстрого подключения в почти любой веб-проект. Доступны: компилированные файлы CSS и JS (
), как и компилированные «облегченные» файлы (bootstrap.min.*
). Карты исходного кода CSS (bootstrap.*.map
) доступны для использования лишь с определенными инструментами разработчика в браузере. Связанные JS-файлы (bootstrap.bundle.js
и минимизированный bootstrap.bundle.min.js
) включают Popper, но не jQuery.
Кодовые карты дают независимый от языка способ показа соответствия рабочего кода и исходных кодов (sources), написанных вами при разработке.
Файлы СSS
Bootstrap включает несколько параметров для подключения всех ваших компилированных CSS.
CSS файлы | Разметка | Содержание | Компоненты | Утилиты |
---|---|---|---|---|
|
Включены | Включены | Включены | Включены |
| Только Система сеток | Не включены | Не включены | Только flex утилиты |
|
Не включены | Только Reboot | Не включены | Не включены |
Файлы JS
Аналогично имеются параметры для подключения всех или некоторых компилированных файлов JavaScript.
JS-файлы | Popper | jQuery |
---|---|---|
|
Включены | Не включены |
|
Не включены | Не включены |
Исходный код Bootstrap
Загрузка исходного кода Bootstrap включает, наряду с исходниками Sass, CSS и JS, перекомпилированные механизмы публикации ресурсов CSS и JS.
- При оформлении кода как расширения, ресурсы которого содержатся в той же папке, что и код.
- При использовании ресурсов за корнем веб-сервера.
- Для обработки ресурсов непосредственно перед публикацией. Например, сжатия CSS и JavaScript.
- При использовании одного и того же ресурса множеством компонент (для исключения дубликатов).
Если быть более точным, сюда входит следующее:
bootstrap/
├── dist/
│ ├── css/
│ └── js/
├── docs/
│ └── examples/
├── js/
└── scss/
В папках
и js/
лежат исходники нашего CSS и JS. Папка dist/
содержит всё перечисленное в параграфе Precompiled Bootstrap выше. Папка docs/
лежит исходный код документации, и содержит папку examples/
— примеры использования Bootstrap. Помимо этого, любой другой подключенный файл нужен для поддержки пакетов, содержит информацию о лицензии и разработке.
Информеры. Компоненты · Bootstrap. Версия v4.0.0
Документация и примеры добавления всплывающих подсказок Bootstrap, подобных тем, которые находятся в iOS, к любому элементу вашего сайта.
Обзор
Вот что надо знать для эффективного использования плагина всплывающих элементов (поповеров):
- Таковой плагин использует для позиционирования 3-ю часть библиотеки Popper.js. Чтобы плагин работал, Вы должны подключать popper.min.js ПЕРЕД bootstrap.js, или использовать
bootstrap.bundle.min.js
/bootstrap.bundle.js
– содержащие Popper.js! - Поповеры требуют плагина всплывающих подсказок в качестве зависимости.
- Если вы подключаете ваш JavaScript в виде файла, вам потребуется
util.js
. - Поповеры не подключены по умолчанию по причинам производительности, так что вы должны инициализировать их самостоятельно.
- Для работы плагина значения
title
and
не должны быть нулевыми. - Задавайте
container: 'body'
для избегания проблем с отрисовкой в более сложных компонентах (таких как группы ввода, кнопок, т.д.) - Запуск поповеров на скрытых элементах не работает.
- Поповеры для элементов класса
.disabled
ordisabled
должны запускаться на «оборачивающем» элементе. - Когда поповеры запущены из ссылок, которые оборачивают множественные строки, всплывающие элементы будут центрироваться по общей ширине ссылок. Используйте
white-space: nowrap;
в ваших<a>
, чтобы избежать этого. - Поповеры должны быть скрыты до того, как соответствующие им элементы будут удалены из DOM.
Ниже несколько примеров.
Пример: включайте поповеры везде
Один из способов инициализации всех поповеров на странице – выбрать их по атрибутам data-toggle
:
$(function () {
$('[data-toggle="popover"]').popover()
})
Пример: использование параметра
container
Когда у вас есть некие стили родительского элемента, которые взаимодействуют с поповером, вам потребуется создать обычный container
— так, чтобы HTML ВЭ появлялся внутри того элемента.
$(function () { $('.example-popover').popover({ container: 'body' }) })
Пример
Click to toggle popover
<button type="button" data-toggle="popover" title="Popover title" data-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>
Четыре направления
Четыре параметра выравнивания доступны: верх, право, низ, лево.
Popover on top Popover on right Popover on bottom Popover on left
<button type="button" data-container="body" data-toggle="popover" data-placement="top" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus."> Popover on top </button> <button type="button" data-container="body" data-toggle="popover" data-placement="right" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus."> Popover on right </button> <button type="button" data-container="body" data-toggle="popover" data-placement="bottom" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus."> Popover on bottom </button> <button type="button" data-container="body" data-toggle="popover" data-placement="left" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus."> Popover on left </button>
Отмена по клику
Используйте триггер focus
для закрытия поповеров по клику на другом элементе или вне поповера.
Для такого поведения нужна специальная разметка
Для правильного кросс-браузерного и кросс-платформенного поведения, описанного в «Отмене по клику» выше – надо использовать не тэг <button>
, а <a>
, также вы можете подключить атрибут tabindex
.
<a tabindex="0" role="button" data-toggle="popover" data-trigger="focus" title="Dismissible popover" data-content="And here's some amazing content. It's very engaging. Right?">Dismissible popover</a>
$('.popover-dismiss').popover({
trigger: 'focus'
})
Отключение элементов
Неактивные элементы с атрибутом disabled
не являются интерактивными, т.е. юзеры не могут кликать на них для вызова поповера (или всплывающей подсказки) и по наведению их стиль не изменится. Как один из «обходных способов» — можно запустить поповер из оборачивающего элемента <div>
или <span>
и «преодолеть» событие pointer-events
дезактивированных элементов.
Для дезактивированных элементов-триггеров поповеров также можно задать data-trigger="hover"
, что заставит поповер визуально «откликаться» на наведение, т.к. юзеры могут и не захотеть кликнуть на дезактивированный элемент.
Disabled button
<span data-toggle="popover" data-content="Disabled popover">
<button type="button" disabled>Disabled button</button>
</span>
Использование
Активируйте поповеры через JavaScript:
$('#example').popover(options)
Параметры
Параметры можно передавать через атрибуты или JS. В случае атрибутов добавляйте нужное название к data-
, как в data-animation=""
.
Название | Тип | По умолчанию | Описание |
---|---|---|---|
animation | boolean | true | Применяет CSS переход «угасание» к поповеру. |
container | string | element | false | false |
Добавляет поповер к элементу. Пример: |
content | string | element | function | » |
Дефолтное значение содержимого, если атрибут Если функция задана, этот параметр будет вызван к элементу, к которому прикреклен поповер, ее экземпляром |
delay | number | object | 0 |
Откладывает показ и скрытие поповера (милисекунды) – не применяется к типу «триггер вручную». Если число задано, отсрочка применяется и к показу, и к скрытию. Структура объекта такова: |
html | boolean | false | Вводит HTML-код в поповер. Если «false», для вставки контента в DOM будет использован текстовый метод jQuery. Используйте, если вы беспокоитесь насчет XSS-атак. |
placement | string | function | ‘right’ |
Позволяет позиционировать поповер – авто | верх | низ | лево | право. Когда функция используется для определения расположения, она вызывается «узлом» поповера в DOM, который выступает как первый аргумент, и запускающий элемент «узла» DOM – как второй. Контекст |
selector | string | false | false | Если селектор задан, объекты поповера будут «делегированы» определенным «целям». На практике это используется для активации возможности добавления поповеров в динамическое содержимое HTML. Смотри сюда и сюда. |
template | string | '<div role="tooltip"><div></div><h4></h4><div></div></div>' |
Обычный HTML для использования при создании поповера.
Элемент, куда обернуты все остальные – должен иметь класс |
title | string | element | function | » |
Дефолтное название, если Если функция задана, этот параметр будет вызван к элементу, к которому прикреклен поповер, ее экземпляром |
trigger | string | ‘click’ | Задает то, как поповер вызывается — клик | hover | focus | вручную. Вы можете передать множественные триггеры: разделите их пробелом. «Вручную» (manual) нельзя сочетать с прочими. |
offset | number | string | 0 | Отступ поповера относитеьлно его «цели». Для информации идите обратитесь к документам по отступам в Popper.js. |
fallbackPlacement | string | array | ‘flip’ | Позволяет задать, на какой позиции Popper встанет при откате. Для информации — сюда. |
boundary | string | element | ‘scrollParent’ | Ограничивает отображение границ поповера, если он целиком не помещается и выходит за область заданных размеров. Принимает значения 'viewport' , 'window' , 'scrollParent' , или отсылку к элементу HTML (через JavaScript). Для информации – документы по предотвращению Оверфлоу. |
Атрибуты для индивидуальных поповеров
Параметры для индивидуальных поповеров могут также задаваться через использование атрибутов, как показано ниже.
Методы
Асинхронные методы и переходы
Все методы API асинхронны и запускают переход. Они возвращаются функции, вызвавшей их, с началом перехода, но до его конца. Плюс, вызов метода к компоненту, выполняющему переход, будет проигнорирован.
Смотрите документацию JavaScript для информации.
$().popover(options)
Инициализирует поповеры для коллекции элементов.
.popover('show')
Выявляет поповер элемента. Возвращается к функции-вызову до того, как поповер показан (т.е. до того, как произойдет событие shown.bs.popover
). Расценивается как «ручной» запуск поповера. Поповеры, чьи название и содержимое есть значения нулевой длины – никогда не отображаются.
$('#element').popover('show')
.popover('hide')
Скрывает поповер элемента. Возвращается к функции-вызову до того, как модальный элемент скрыт. (т.е. до того, как произойдет событие hidden.bs.popover
). Расценивается как «ручной» запуск поповера.
$('#element').popover('hide')
.popover('toggle')
Изменяет состояние поповера. Возвращается к функции-вызову до того, как модальный элемент скрыт. (т.е. до того, как произойдут события shown.bs.popover
или hidden.bs.popover
). Расценивается как «ручной» запуск поповера.
$('#element').popover('toggle')
.popover('dispose')
Скрывает и уничтожает поповер элемента. Поповеры, которые используют делегирование (т.е. которые созданы параметром селектора), не могут быть уничтожены по одному из нижестоящих элементов-триггеров.
$('#element').popover('dispose')
.popover('enable')
Дает поповеру элемента возможность быть показанным. Поповеры включены по умолчанию.
$('#element').popover('enable')
.popover('disable')
Удаляет у поповера элемента возможность быть показанным. Поповер будет иметь возможность показанным лишь если он пере-включен.
$('#element').popover('disable')
.popover('toggleEnabled')
Переключает возможность поповера элемента быть показанным или скрытым.
$('#element').popover('toggleEnabled')
.popover('update')
Обновляет позицию поповера элемента.
$('#element').popover('update')
События
Тип события | Описание |
---|---|
show.bs.popover | Это событие наступает немедленно, когда вызван экземпляр метода show . |
shown.bs.popover | Это событие наступает, когда поповер только что сделан видимым юзеру (будет ждать завершения переходов CSS). |
hide.bs.popover | Это событие наступает немедленно, когда только что вызван экземпляр метода hide . |
hidden.bs.popover | Это событие наступает, когда поповер только что перестал быть скрытым от юзера (будет ждать завершения переходов CSS). |
inserted.bs.popover | Это событие наступает после события show.bs.popover , когда шаблон поповера только что добавлен в DOM. |
$('#myPopover').on('hidden.bs.popover', function () {
// do something…
})
Bootstrap: что это такое и как его установить
Bootstrap — бесплатный HTML/CSS/JavaScript фреймворк для быстрого создания адаптивного дизайна сайта. У разработчиков к нему неоднозначное отношение. С одной стороны, Bootstrap позволяет с минимальными знаниями создавать интерфейсы, которые работают во всех популярных браузерах и не ломаются при изменении разрешения экрана. С другой стороны, фреймворк тащит в проект кучу ненужного кода, который увеличивает вес сборки.
Что нужно знать о Bootstrap перед началом работы
У меня отношение к Bootstrap нейтральное. Он отлично подходит для прототипирования. Если нужно быстро проверить какую-то гипотезу или показать пример заказчику, то сборка во фреймворке — оптимальный вариант. Если вы делаете индивидуальный дизайн, то проще верстать с нуля, а не пытаться перебрать все стили и скрипты в Bootstrap.
Про плюсы и минусы фреймворка вы можете почитать в этой статье. За 2 года ничего не изменилось. Bootstrap правда очень помогает сэкономить время и при этом создать приличный шаблон, но тащит кучу лишнего кода и слабо подходит для нестандартных проектов. Все недостатки Bootstrap можно устранить перебором его исходных файлов, но это занимает столько времени, что любой опытный разработчик выберет верстку макета с нуля.
Какую версию Bootstrap выбрать?
Последняя стабильная версия — 4.5.0. Ее и стоит использовать. Сетка в ней построена на Flexbox, это достаточно распространенная технология. Сервис Can I Use показывает, что верстка на флексах поддерживается всеми современными версиями браузеров. Частичная поддержка есть в Internet Explorer 10 и 11.
В третьей версии Bootstrap сетка построена на Float. Это устаревшая технология, которая не дает такой гибкости, как Flexbox. Зато на флоатах можно верстать для старых браузеров, вплоть до Internet Explorer 6. Если вашему проекту нужна такая поддержка (вряд ли), то используйте Bootstrap 3.4.1.
В июне 2020 года появилась новость о выпуске Bootstrap 5 alpha. Когда из нее сделают стабильную версию — непонятно. Но есть несколько моментов, о которых нужно знать всем, кто работает или собирается работать с фреймворком.
- В пятой версии не будет поддержки Internet Explorer.
- Из Bootstrap пропадет библиотека jQuery, с помощью которой в предыдущих версиях реализовывалось большинство возможностей JavaScript.
Радует, что фреймворк развивается. Разработчики обещают, что в пятой версии будет более быстрый JavaScript, меньшее количество зависимостей, улучшенные API. Но пока она находится на стадии альфа-тестирования, мы будем пользоваться последней стабильной сборкой — Bootstrap 4.5.1.
Как установить Bootstrap
Установить Bootstrap можно несколькими способами:
- Подключить компилированные файлы c помощью BootstrapCDN.
- Скачать скомпилированные файлы CSS и JS, подключить их к проекту через ссылки и верстать. Это отличный вариант для того, чтобы познакомиться с фреймворком.
- Скачать исходные файлы. Эта сборка удобнее для верстки, потому что позволяет гибко кастомизировать компоненты. Однако она требует использования дополнительных инструментов: компилятора Sass и постпроцессоров.
- Установить исходники через npm, yarn, RubyGems, Composer, NuGet.
Мы не будем подробно рассматривать все способы — они описаны в документации Bootstrap. Вот версия на русском языке. Она обновляется немного позже официальной инструкции на английском, но порядок установки не меняется годами, так что вся информация актуальна.
Посмотрим способы подключения, которые позволяют быстро получить работающий фреймворк и приступить к изучению его особенностей.
Самый простой метод установки — подключение через BootstrapCDN. Вам не нужно скачивать файлы в проект. Просто создайте шаблон HTML и разместите внутри него ссылку на фреймворк.
Код может быть таким:
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Эта ссылка загружает с CDN все необходимые файлы Bootstrap --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous"> </head> <body> <h2>Привет, мир!</h2> <!-- Перед закрывающим тегом <body> подключаем jQuery, Popper и Bootstrap JS, чтобы работали интерактивные компоненты --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous" ></script> </body> </html>
Еще один простой способ установки — скачивание скомпилированных файлов. Внутри архива (его нужно распаковать) две папки: css и js.
В папке css — файлы стилей.
- bootstrap.css — стили фреймворка. Файл bootstrap.min.css — минифицированная версия.
- bootstrap-grid.css — сетка Bootstrap. Файл bootstrap-grid.min.css — минифицированная версия.
- bootstrap-reboot.css — нормализатор Bootstrap, устанавливающий базовые стили, чтобы во всех браузерах верстка смотрелась одинаково. Файл bootstrap-reboot.min.css — минифицированная версия.
В папке js — файлы для работы JavaScript.
- bootstrap.bundle.js — компилированные файлы JavaScript с Popper (плагином всплывающих подсказок). Файл bootstrap.bundle.min.js — минифицированая версия.
- bootstrap.js — компилированные файлы JavaScript без Popper. Файл bootstrap.js — минифицированая версия.
В четвертой версии Bootstrap для работы с JavaScript требуется библиотека JQuery. Она подключается перед Bootstrap JS.
Файл проекта index.html, к которому мы будем подключать Bootstrap, нужно разместить в той же директории, что и подключаемые файлы CSS и JavaScript.
Код шаблона может быть таким:
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <link rel="stylesheet" href="css/bootstrap.css" > </head> <body> <h2>Привет, мир!</h2> <!-- Сначала подключаем библиотеку JQuery, затем — Bootstrap JS --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> <script src="js/bootstrap.js"></script> </body> </html>
Обратите внимание — я подключил не минифицированные файлы (с суффиксом min), а обычные. Так удобнее работать со стилями и скриптами. Однако на рабочем проекте нужно использовать минифицированные версии — они меньше весят и обеспечивают более быструю загрузку страницы. После редактирования стилей вам нужно самостоятельно минифицировать файл, заменив шаблонную версию.
Начинаем верстать с помощью Bootstrap
Для работы с Bootstrap нужен текстовый редактор и браузер, в котором вы будете видеть результат верстки с помощью фреймворка.
Для удобства рекомендую скачать примеры. Они помогают понять возможности фреймворка. Примеры можно использовать для верстки прототипов, особенно в ситуации, когда макет нужно было сдать еще вчера.
Допустим, я хочу быстро собрать слайдер. В примерах есть карусель. Внутри папки — два файла: index.html и carousel.css. Я открываю их в редакторе и исправляю так, как мне нужно.
Например, в моей карусели будет не три карточки, а пять. Для этого достаточно в файле index.html добавить еще два компонента.
Изначально карусель выглядит вот так.
Открываем файл index.html через любой текстовый редактор (я предпочитаю Visual Studio Code) и начинаем его править.
Находим в коде карусель. Вот она:
<div data-ride="carousel">
Добавляем в список с классом carousel-indicators два элемента с номерами 3 и 4. Они нужны для того, чтобы в карусели отображалось пять кнопок переключения между слайдами.
Далее находим блок слайда с классом carousel-item. Копируем все, что находится внутри, и вставляем в конце.
Дальше мы можем редактировать слайды так, как нравится: переписать заголовки и описания, добавить фоновое изображение или изменить цвет, настроить шрифт и отступы, изменить высоту контейнера. Все стили доступны в файле carousel.css.
Вся работа заняла пару минут. При этом компоненты имеют адаптивный дизайн. Вам не нужно настраивать даже медиа-запросы — они уже прописаны в исходных файлах Bootstrap. Такой подход позволяет значительно сэкономить время на верстку.
Конечно, редактирование шаблона — это не верстка. Но я могу взять код той же карусели и внедрить его в свой проект, к которому подключен Bootstrap. В этом главный плюс фреймворка.
Bootstrap содержит огромное количество готовых компонентов. Разработчику нужно только выбрать то, что необходимо для решения его задачи. По сути, это как работа с конструктором сайтов, только намного более гибким. Именно поэтому Bootstrap так хорош для прототипирования и быстрой верстки, но становится неудобным при разработке проектов с индивидуальным дизайном.
Добавляем React на сайт – React
Используйте React в том объёме, в котором вам хочется.
Для внедрения React не надо ничего переписывать. Его можно использовать как для маленькой кнопки, так и для целого приложения. Возможно, вы захотите немного «оживить» вашу страницу. React-компоненты подходят для этого как нельзя лучше.
Большинство сайтов в Интернете является обычными HTML-страницами. Даже если ваш сайт не относится к одностраничным приложениям, вы можете добавить на него React, написав всего несколько строк кода без каких-либо инструментов сборки. В зависимости от целей, можно постепенно перенести на React весь сайт или переписать всего несколько виджетов.
Добавляем React за одну минуту
В этом разделе вы научитесь добавлять React на существующую HTML-страницу. Вы можете практиковаться на своём собственном сайте или создать для этого пустой HTML файл.
Мы не будем пользоваться сложными инструментами сборки или что-то устанавливать. Всё, что вам нужно — это доступ к Интернету и минута свободного времени.
Необязательно: скачать готовый пример (архив 2 Кбайт)
Шаг 1: Добавляем DOM-контейнер в HTML
Для начала, откройте HTML файл страницы, которую хотите отредактировать. Добавьте пустой тег <div>
в месте, где вы хотите отобразить что-нибудь с помощью React. Например:
<div></div>
Затем назначьте созданному <div>
уникальный атрибут id
. Это позволит впоследствии найти тег из JavaScript кода и отобразить React-компоненты внутри него.
Совет
«Контейнер»
<div>
можно поместить где угодно внутри тега<body>
. Вы можете создать любое количество независимых DOM-контейнеров на одной странице. Эти контейнеры принято оставлять пустыми, так как React в любом случае заменяет всё их содержимое.
Шаг 2: Добавляем script-теги
Теперь добавьте три <script>
-тега перед закрывающим тегом </body>
:
<script src="https://unpkg.com/react@17/umd/react.development.js" crossorigin></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js" crossorigin></script>
<script src="like_button.js"></script>
</body>
Первые два тега загружают React. Третий тег загружает код вашего собственного компонента.
Шаг 3: Создаём React-компонент
Создайте файл с именем like_button.js
рядом с вашим HTML файлом.
Возьмите этот стартовый код и вставьте его в созданный ранее файл.
Совет
В данном коде создаётся React-компонент с именем
LikeButton
. Не беспокойтесь, если что-то кажется вам непонятным — мы подробно разберём принципы разработки на React позже, в нашем практическом руководстве и во введении в основные понятия. Пока же мы просто посмотрим, как это выглядит на экране.
Добавьте ещё 2 строки в конец файла like_button.js
, после стартового кода:
const domContainer = document.querySelector('#like_button_container');ReactDOM.render(e(LikeButton), domContainer);
Эти две строки кода ищут элемент <div>
, который мы добавили на первом шаге, а затем отображают React-компонент с кнопкой «Нравится» внутри него.
Готово!
Вот и всё! Вы только что добавили свой первый React-компонент на страницу.
Перейдите к следующим разделам, если хотите узнать о других способах добавить React.
Посмотреть финальный код примера
Скачать код примера (архив 2 Кбайт)
Совет: Повторное использование компонентов
Зачастую, вам может понадобиться отобразить React-компонент в нескольких местах одной и той же HTML-страницы. Вот как можно показать сразу три кнопки «Нравится» с разными данными:
Посмотреть исходный код примера
Скачать код примера (архив 2 Кбайт)
Примечание
Этот способ лучше всего подходит для страниц, содержащих несколько изолированных участков кода, написанных на React. Внутри чистого React-кода проще использовать композицию компонентов.
Совет: Минификация JavaScript для продакшена
Публикуя ваш сайт на продакшен, имейте в виду, что несжатый JavaScript значительно замедляет страницу для ваших пользователей.
Если вы уже минифицируете свои скрипты, то не забудьте подготовить к продакшену сам React. Для этого поменяйте окончания ссылок на React на production.min.js
:
<script src="https://unpkg.com/react@17/umd/react.production.min.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js" crossorigin></script>
Если же вы не настроили минификацию для ваших скриптов, то вот один из вариантов, как это сделать.
Необязательно: Используем React с JSX
В предыдущих примерах мы не выходили за рамки обычных браузерных возможностей. В частности, мы указываем, что React должен выводить на экран, просто вызывая JavaScript-функцию:
const e = React.createElement;
return e(
'button',
{ onClick: () => this.setState({ liked: true }) },
'Нравится'
);
Однако, React позволяет использовать специальный синтаксис, называющийся JSX:
return (
<button onClick={() => this.setState({ liked: true })}>
Нравится
</button>
);
Эти два примера делают одно и то же. Несмотря на то, что JSX является совершенно необязательным, многие разработчики считают его удобным для разработки UI — как с React, так и с другими библиотеками.
Вы можете попробовать JSX в этом онлайн-конвертере.
Быстрый старт с JSX
Чтобы быстро попробовать JSX, добавьте такой <script>
-тег на страницу:
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
Теперь синтаксис JSX доступен внутри каждого <script>
-тега, у которого есть атрибут type="text/babel"
. Скачайте пример HTML-кода с JSX, чтобы поэкспериментировать.
Такой подход удобен для обучения или создания быстрых демо, но следует помнить, что работа сайта при этом сильно замедляется. Поэтому для продакшена JSX лучше добавить по-другому. Если вам интересно попробовать, удалите добавленный ранее <script>
-тег и все атрибуты type="text/babel"
. Вместо них мы будем пользоваться препроцессором JSX, который автоматически трансформирует весь код внутри <script>
-тегов.
Добавляем JSX в проект
JSX можно добавить в существующий проект и без разных сложных инструментов вроде бандлера или сервера для разработки. По сути, добавление JSX напоминает добавление препроцессора CSS. Необходимо лишь убедиться, что на вашем компьютере установлен Node.js.
С помощью терминала перейдите в директорию вашего проекта и запустите следующие команды:
- Шаг 1: Запустите команду
npm init -y
(если появляются ошибки, попробуйте этот способ) - Шаг 2: Запустите команду
npm install babel-cli@6 babel-preset-react-app@3
Совет
Мы используем npm только для установки препроцессора JSX. React и код приложения всё ещё остаются в
<script>
-тегах.
Поздравляем! Вы только что добавили в ваш проект поддержку JSX, готовую к продакшену.
Запускаем препроцессор JSX
Создайте директорию с названием src
и наберите в терминале следующую команду:
npx babel --watch src --out-dir . --presets react-app/prod
Примечание
npx
не является опечаткой. Это инструмент запуска пакетов, появившийся в npm версии 5.2+.Если у вас появляется сообщение об ошибке, похожее на «You have mistakenly installed the
babel
package», то это означает, что вам нужно пройти предыдущий шаг, а затем повторить запуск команды.
Дожидаться завершения работы команды не нужно — она работает в режиме наблюдения за изменениями в JSX-коде.
Попробуйте создать файл с названием src/like_button.js
и вставить в него этот стартовый JSX-код. Препроцессор автоматически трансформирует новый код в чистый JavaScript, пригодный для выполнения в браузере, и сохранит его в новый файл like_button.js
. При редактировании JSX-кода в существующих файлах трансформация также происходит автоматически.
Кроме препроцессинга JSX, вы в качестве бонуса получаете синтаксические новинки JavaScript, такие как классы, без головной боли с их браузерной поддержкой. Всё это доступно благодаря использованию инструмента под названием Babel, информацию о котором вы можете узнать из его документации.
Если вы неплохо разбираетесь в инструментах сборки и хотите создавать приложения на React с их помощью, обратитесь к следующему разделу, где описаны некоторые из наиболее популярных способов. Если нет — не беспокойтесь, уже знакомые нам script-теги ничуть не хуже!
Введение · Bootstrap 4 на русском v4.5
Смотреть на GitHubНачните работу с Bootstrap, самым популярным в мире фреймворком для создания быстродействующих мобильных сайтов с BootstrapCDN и шаблонами стартовой страницы.
Быстрый старт
Хотите использовать Бутстрап в своем проекте? Bootstrap – библиотека шаблонов CSS, распространяемая свободно командой сайта MaxCDN. Нужна система управления пакетами или исходники Bootstrap? Посетите страницу загрузок.
CSS
Скопируйте и вставьте часть кода <link>
в свой <head>
перед всеми другими таблицами стилей, чтобы загрузить наш CSS.
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.3/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
JS
Многие из наших компонентов требуют использования JavaScript. Точнее — им требуются jQuery, Popper.js и наши собственные плагины. Для активации плагинов разместите следующий кусок кода <script>
в конце страниц, прямо перед закрывающим </body>
. Сперва jQuery , потом Popper.js, потом наши.
Мы используем мини-сборку jQuery, но и полную можно использовать.
Bundle
Include everything you need in one script with our bundle. Our bootstrap.bundle.js
and bootstrap.bundle.min.js
include Popper, but not jQuery. For more information about what’s included in Bootstrap, please see our contents section.
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.3/js/bootstrap.bundle.min.js" integrity="sha384-ho+j7jyWK8fNQe+A12Hb8AhRq26LrZ/JpcUGGOn+Y7RsweNrtN/tE3MoK7ZeZDyx" crossorigin="anonymous"></script>
Separate
If you decide to go with the separate scripts solution, Popper.js must come first, and then our JavaScript plugins.
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.3/js/bootstrap.min.js" integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5D92v7s" crossorigin="anonymous"></script>
Любопытно, какие компоненты явно требуют jQuery, наших JS и Popper.js? Нажмите ссылку «Показать компоненты» ниже. Если вы не уверены в том, как правильно написать коренную структуру страницы, можете использовать наши шаблоны.
Наши bootstrap.bundle.js
и bootstrap.bundle.min.js
включают в себя Popper, но не jQuery. Для получения дополнительной информации о том, что входит в Bootstrap, пожалуйста, смотрите наш раздел содержание.
- Уведомления отмены
- Кнопки изменения состояний и чекбоксов/»радио»
- Карусель для поведения «слайд», элементы контроля и индикаторы
- Коллапс для изменения видимости содержимого
- Выпадающие элементы для отображения и расположения (также требует Popper.js)
- Модальные окна для отображения, расположения и создания поведения прокрутки
- Навбар для расширения нашего плагина коллапса для придания отзывчивого поведения
- Всплывающие сообщения для показа и закрытия
- Выплывающие подсказки и окна для отображения и расположения (также требует Popper.js)
- Отслеживание прокрутки и обновления навигации
Начальный шаблон страницы
Удостоверьтесь, что ваши страницы сверстаны по новейшим стандартам. Они должны включать и использовать HTML5 doctype и viewport meta tag для правильного отзывчивого поведения страниц. Вот как должен выглядеть верхний, коренной код страницы:
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.3/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">
<title>Hello, world!</title>
</head>
<body>
<h2>Hello, world!</h2>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.3/js/bootstrap.min.js" integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5D92v7s" crossorigin="anonymous"></script>
</body>
</html>
Это все, что вам нужно из общих требований к странице. Посетите Обзорный раздел или наши официальные примеры для создания контента и компонентов вашего сайта.
Важные глобальные атрибуты
Bootstrap включает некоторые глобальные стили и настройки, о которых вам необходимо знать при работе с ним; все эти стили и настройки почти полностью имеют дело с и заточены под нормализацию кроссбраузерных стилей.
HTML5 doctype
Bootstrap требует использования doctype «HTML5». Без него у вас возникнут некоторые проблемы со стилями.
<!DOCTYPE html>
<html lang="en">
...
</html>
Отзывчивый мета-тэг
Bootstrap разрабатывался как mobile first, т.е. его настройки прежде всего оптимизированы под мобильные устройства, а уж потом с помощью медиа-запросов мы подгоняем масштаб компонентов как нам необходимо на прочих устройствах. Вставьте этот кусок кода в <head>
:
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
Вы можете посмотреть пример этого в действии на странице starter template.
Размер ширины и высоты элемента
Для большей простоты масштабирования в CSS мы изменяем глобальное значение box-sizing
с content-box
на border-box
. Это гарантирует, что padding
не будет влиять на конечную вычисленную ширину элемента; однако может создать проблемы для сторонних приложений, таких как Google Maps или поисковой движок Google.
В том редком случае, когда вам надо преодолеть эти возможные баги, делайте так:
.selector-for-some-widget {
box-sizing: content-box;
}
С использованием фрагмента кода, приведенного выше, вложенные элементы – включая сгенерированный через :before
и :after
контент – будут все наследовать заданный box-sizing
для класса .selector-for-some-widget
.
Узнайте больше о блоковой модели и параметризации размеров на CSS Tricks.
Ребут
Для улучшенной кроссбраузерной визуализации мы применили «Ребут», обеспечивающий более продвинутые сбросы стилей для элементов HTML для коррекции мелких багов в браузерах и девайсах.
Оставайтесь в курсе последних новостей Bootstrap и вливайтесь в сообщество Bootstrap с помощью этих ресурсов:
- @getbootstrap on Twitter.
- The Official Bootstrap Blog.
- the official Slack room.
- Чат с камрадами по Bootstrap. Канал
##bootstrap
на сервереirc.freenode.net
. - Помощь в реализации Bootstrap 4 на Stackoverflow
bootstrap-4
). - При разработке через npm или аналогичные депозитарии, разработчикам следует использовать ключевое слово
bootstrap
в своих пакетах и библиотеках для максимальной видимости.
Вы также можете присоединиться @getbootstrap on Twitter для получения свежайших слухов и классных музыкальных клипов.
wp_enqueue_script() — функция WordPress
А вообще, про подключение CSS и JS в WordPress на моём сайте есть отдельный видеоурок.
Рекомендуемый метод подключения файлов JavaScript в WordPress. Имеет ряд особенностей:
- скрипты вставляются на страницы сайта через функции wp_head() и wp_footer(),
- в админке же скрипты объединяются в один с помощью PHP-обработчика
load-scripts.php
, - позволяет подключать скрипты с учетом их зависимостей друг от друга;
То есть нужный вам js-файл не будет вставляться в HTML сразу же, как только вы использовали функцию, т.к. функция всего лишь помещает файл в очередь для вывода.
wp_enqueue_script( $handle, $src = false, $deps = array(), $ver = false, $in_footer = false )
- $handle
- (строка) какое-нибудь название (идентификатор), придуманное вами (строка в нижнем регистре), либо можно подключить уже зарегистрированные (через wp_register_script()) ранее скрипты, используя их идентификаторы
- $src
- (строка) абсолютный URL файла JavaScript, который требуется подключить, этот параметр (и все последующие тоже) нужен только для незарегистрированных скриптов
- $deps
- (массив) массив идентификаторов скриптов, от которых зависит подключаемый скрипт
- $ver
- (строка) версия файла. Если установить значение
null
, то версия не будет указываться. По умолчанию — текущая версия WordPress. - $in_footer
- (логическое) по умолчанию файлы JavaScript подключаются внутри тегов
<head>
. Если же указать данный параметр равнымtrue
, тогда скрипт будет вставлен непосредственно перед закрывающим тегом</body>
.
Примеры подключения на страницах сайта
Конечно, вы можете просто засунуть это функцию в functions.php
, но тогда скрипт будет вставляться не только на страницах вашего сайта, но и в админке, а это может привести к некоторым багам.
Для вставки скриптов во фронтэнде (т.е. не в админке), используйте хук wp_enqueue_scripts
, пример:
function true_include_myscript() { wp_enqueue_script( 'myscript', get_stylesheet_directory_uri() . '/script.js', '', '3.0', false ); } add_action( 'wp_enqueue_scripts', 'true_include_myscript' );
Тот же самый пример, но только с зависимостью от jQuery:
function true_include_myscript_dep_jquery() { wp_enqueue_script( 'myscript', get_stylesheet_directory_uri() . '/script.js', array('jquery') ); } add_action( 'wp_enqueue_scripts', 'true_include_myscript_dep_jquery' );
Или подключим уже зарегистрированный ранее jQuery:
function true_include_jquery() { wp_enqueue_script( 'jquery' ); } add_action( 'wp_enqueue_scripts', 'true_include_jquery' );
Пример подключения в админке
Для подключения скриптов только в бэкэнде, т.е. только в админке, используйте хук admin_enqueue_scripts
, например:
function true_include_in_admin() { wp_enqueue_script( 'jquery' ); } add_action( 'admin_enqueue_scripts', 'true_include_in_admin' );
Подключение скрипта только на странице настроек конкретного плагина
Получается, что мы подключаем необходимый JavaScript файл только там, где нужно — это же здорово!
add_action( 'admin_init', 'true_plugin_admin_init' ); add_action( 'admin_menu', 'true_plugin_admin_menu' ); function true_plugin_admin_init() { /* * Регистрируем скрипт, * он кстати должен находиться той же папке, что и файл, в который будет вставлен этот код. */ wp_register_script( 'myscript', plugins_url( '/myscript.js', __FILE__ ) ); } function true_plugin_admin_menu() { /* * Добавляем субменю настроек плагина в Параметры. */ $page_hook_suffix = add_submenu_page( 'options-general.php', 'Мой плагин', 'Настройки моего плагина', 'manage_options', 'true-plugin', 'true_plugin_print_page' ); /* * Нетрудно догадаться, что вся фишка кроется в переменной $page_hook_suffix */ add_action('admin_print_scripts-' . $page_hook_suffix, 'true_plugin_admin_scripts'); } function true_plugin_admin_scripts() { /* * Подключаем наш уже зарегистрированный ранее скрипт. */ wp_enqueue_script( 'myscript' ); } function true_plugin_print_page() { /* * Cодержимое страницы настроек. */ echo 'Привет'; }
Таблица стандартных скриптов в WordPress
Все скрипты, перечисленные в этой таблице, регистрировать не нужно, достаточно указать их идентификатор при подключении, например: wp_enqueue_script('идентификатор')
.
Название скрипта | Идентификатор | Расположение файла | Зависимости |
---|---|---|---|
Jcrop | jcrop | /wp-includes/js/jcrop/jquery.Jcrop.min.js | |
SWFObject | swfobject | /wp-includes/js/swfobject.js | |
SWFUpload | swfupload | /wp-includes/js/swfupload/swfupload.js | |
SWFUpload Queue | swfupload-queue | /wp-includes/js/swfupload/plugins/swfupload.queue.js | |
SWFUpload Handlers | swfupload-handlers | /wp-includes/js/swfupload/handlers.min.js | |
jQuery | jquery | /wp-includes/js/jquery/jquery.js | json2 (для AJAX запросов) |
jQuery Form | jquery-form | /wp-includes/js/jquery/jquery.form.min.js | jquery |
jQuery Color | jquery-color | /wp-includes/js/jquery/jquery.color.min.js | jquery |
jQuery Masonry | jquery-masonry | /wp-includes/js/jquery/jquery.masonry.min.js | jquery |
jQuery UI Core | jquery-ui-core | /wp-includes/js/jquery/ui/jquery.ui.core.min.js | jquery |
jQuery UI Widget | jquery-ui-widget | /wp-includes/js/jquery/ui/jquery.ui.widget.min.js | jquery |
jQuery UI Mouse | jquery-ui-mouse | /wp-includes/js/jquery/ui/jquery.ui.mouse.min.js | jquery |
jQuery UI Accordion | jquery-ui-accordion | /wp-includes/js/jquery/ui/jquery.ui.accordion.min.js | jquery |
jQuery UI Autocomplete | jquery-ui-autocomplete | /wp-includes/js/jquery/ui/jquery.ui.autocomplete.min.js | jquery |
jQuery UI Slider | jquery-ui-slider | /wp-includes/js/jquery/ui/jquery.ui.slider.min.js | jquery |
jQuery UI Tabs | jquery-ui-tabs | /wp-includes/js/jquery/ui/jquery.ui.tabs.min.js | jquery |
jQuery UI Sortable | jquery-ui-sortable | /wp-includes/js/jquery/ui/jquery.ui.sortable.min.js | jquery |
jQuery UI Draggable | jquery-ui-draggable | /wp-includes/js/jquery/ui/jquery.ui.draggable.min.js | jquery |
jQuery UI Droppable | jquery-ui-droppable | /wp-includes/js/jquery/ui/jquery.ui.droppable.min.js | jquery |
jQuery UI Selectable | jquery-ui-selectable | /wp-includes/js/jquery/ui/jquery.ui.selectable.min.js | jquery |
jQuery UI Position | jquery-ui-position | /wp-includes/js/jquery/ui/jquery.ui.position.min.js | jquery |
jQuery UI Datepicker | jquery-ui-datepicker | /wp-includes/js/jquery/ui/jquery.ui.datepicker.min.js | jquery |
jQuery UI Resizable | jquery-ui-resizable | /wp-includes/js/jquery/ui/jquery.ui.resizable.min.js | jquery |
jQuery UI Dialog | jquery-ui-dialog | /wp-includes/js/jquery/ui/jquery.ui.dialog.min.js | jquery |
jQuery UI Button | jquery-ui-button | /wp-includes/js/jquery/ui/jquery.ui.button.min.js | jquery |
jQuery UI Effects | jquery-effects-core | /wp-includes/js/jquery/ui/jquery.ui.effect.min.js | jquery |
jQuery UI Effects — Blind | jquery-effects-blind | /wp-includes/js/jquery/ui/jquery.ui.effect-blind.min.js | jquery-effects-core |
jQuery UI Effects — Bounce | jquery-effects-bounce | /wp-includes/js/jquery/ui/jquery.ui.effect-bounce.min.js | jquery-effects-core |
jQuery UI Effects — Clip | jquery-effects-clip | /wp-includes/js/jquery/ui/jquery.ui.effect-clip.min.js | jquery-effects-core |
jQuery UI Effects — Drop | jquery-effects-drop | /wp-includes/js/jquery/ui/jquery.ui.effect-drop.min.js | jquery-effects-core |
jQuery UI Effects — Explode | jquery-effects-explode | /wp-includes/js/jquery/ui/jquery.ui.effect-explode.min.js | jquery-effects-core |
jQuery UI Effects — Fade | jquery-effects-fade | /wp-includes/js/jquery/ui/jquery.ui.effect-fade.min.js | jquery-effects-core |
jQuery UI Effects — Fold | jquery-effects-fold | /wp-includes/js/jquery/ui/jquery.ui.effect-fold.min.js | jquery-effects-core |
jQuery UI Effects — Highlight | jquery-effects-highlight | /wp-includes/js/jquery/ui/jquery.ui.effect-highlight.min.js | jquery-effects-core |
jQuery UI Effects — Pulsate | jquery-effects-pulsate | /wp-includes/js/jquery/ui/jquery.ui.effect-pulsate.min.js | jquery-effects-core |
jQuery UI Effects — Scale | jquery-effects-scale | /wp-includes/js/jquery/ui/jquery.ui.effect-scale.min.js | jquery-effects-core |
jQuery UI Effects — Shake | jquery-effects-shake | /wp-includes/js/jquery/ui/jquery.ui.effect-shake.min.js | jquery-effects-core |
jQuery UI Effects — Slide | jquery-effects-slide | /wp-includes/js/jquery/ui/jquery.ui.effect-slide.min.js | jquery-effects-core |
jQuery UI Effects — Transfer | jquery-effects-transfer | /wp-includes/js/jquery/ui/jquery.ui.effect-transfer.min.js | jquery-effects-core |
jQuery Schedule | schedule | /wp-includes/js/jquery/jquery.schedule.js | jquery |
jQuery Suggest | suggest | /wp-includes/js/jquery/suggest.min.js | jquery |
ThickBox | thickbox | /wp-includes/js/thickbox/thickbox.js | |
jQuery Hotkeys | jquery-hotkeys | /wp-includes/js/jquery/jquery.hotkeys.min.js | jquery |
Simple AJAX Code-Kit | sack | /wp-includes/js/tw-sack.min.js | |
QuickTags | quicktags | /wp-includes/js/quicktags.min.js | |
Autosave | autosave | /wp-includes/js/autosave.min.js | |
WordPress AJAX Response | wp-ajax-response | /wp-includes/js/wp-ajax-response.min.js | |
List Manipulation | wp-lists | /wp-includes/js/wp-lists.min.js | |
WP Common | common | /wp-admin/js/common.min.js | |
Индикатор сложности пароля | password-strength-meter | /wp-admin/js/password-strength-meter.min.js | |
Древовидные комментарии | comment-reply | /wp-includes/js/comment-reply.min.js | |
Медиазагрузчик | media-upload | /wp-admin/js/media-upload.min.js | |
Счетчик слов | word-count | /wp-admin/js/word-count.min.js | |
JSON for JS | json2 | /wp-includes/js/json2.min.js | |
Plupload | plupload | /wp-includes/js/plupload/plupload.js | |
Underscore js | underscore | /wp-includes/js/underscore.min.js | |
Backbone js | backbone | /wp-includes/js/backbone.min.js |
Миша
Недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.
Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.
Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.
Что нового и как это работает в Bootstrap 4
Приветствую всех, друзья!
Сегодня я бы хотел поговорить немного о CSS. А именно о новом CSS-фреймворке Bootstrap 4. Он официально вышел не давно, и я думаю что вам будет интересно узнать, что же нового туда засунули разработчики. Beta-версия уже давно доступна для скачивания, но полная версия вышла не так давно.
Так что я заполняю этот пробел и расскажу о нововведениях в Bootstrap.
Версия 4 Bootstrap является серьезным изменением всех предыдущих версий. Это мобильная платформа и может претендовать на то, чтобы быть одной из лучших CSS-фреймворков для создания адаптивных веб-сайтов.
Поскольку Bootstrap — это платформа для мобильных устройств, по умолчанию все, что вы планируете или создаете, будет совместимо с мобильными устройствами или будет реагировать на них. Разве это не круто?
Начинаем
Bootstrap имеет новый дизайн сайта, который сам построен с использованием последней версии системы Bootstrap (версия 4 на момент написания).
Вы можете либо подключить предварительно скомпилированную версию Bootstrap, используя CDN, либо загрузить файл архива здесь.
Как только вы распакуете архив, то увидите множество файлов и папок, которые не требуются для нашей статьи. Перейдите прямо в каталог «dist» и скопируйте все папки в новое место назначения, которое будет вашим проектом.
В предыдущих версиях среды загрузка включала дополнительную папку шрифтов. Теперь шрифты не включены, но мы можем легко взять некоторые приятные из Font Awesome например, или из вашего любимого ресурса для шрифтов-значков. В нашем случае у нас есть две директории, поэтому давайте посмотрим на каждую из них. Папка «css» содержит шесть CSS файлов:
- bootstrap.css
- bootstrap.min.css
- bootstrap-grid.css
- bootstrap-grid.min.css
- bootstrap-reboot.css
- bootstrap-reboot.min.css
Как вы можете видеть, последняя версия Bootstrap намного более модульная, чем предыдущая. Если вам просто нужен хороший сброс стилей CSS, просто используйте bootstrap-reboot.css (или его сокращенную версию bootstrap-reboot.min.css). Аналогично, если вы просто хотите использовать сетку, подключите bootstrap-grid.css (или сокращенную версию bootstrap-grid.min.css) в свой проект.
Для этой статьи наш основной файл CSS будет bootstrap.css, и мы должны подключить его во все наши HTML-страницы. Файл bootstrap.min.css — это тоже самое, только сокращенная версия bootstrap.css. Это необходимо, когда мы действительно будем развертывать наш сайт онлайн.
Перейдя к папке «js» — у нас есть следующие четыре файла:
- bootstrap.bundle.js
- bootstrap.bundle.min.js
- bootstrap.js
- bootstrap.min.js
Эти файлы содержат основные библиотеки JavaScript Bootstrap для таких вещей, как карусели, раскрывающиеся меню, поисковые подсказки и многие другие мощные функции JavaScript. Мы будем использовать мини-версию, когда приложение будет готово к развертыванию.
Начиная с Bootstrap 4 beta 2, папка «js» включала две новые папки bootstrap-bundle.js (вместе со своей мини-версией), а также Popper.js — интеллектуальную библиотеку JavaScript для управления poppers в веб-приложениях.
Итак, что именно мы собираемся построить?
В этой статье я собираюсь создать статическую целевую страницу с помощью Bootstrap 4, которая будет называться «Сезонная аренда». Посмотрите на демо-страницу в первую очередь.
Измените размер окна браузера, и вы увидите некоторые удивительные преобразования в макете веб-страницы. Он настраивается на размер окна. Вы также заметите, что панель меню автоматически скрывается в приятном сенсорном меню.
Поэтому мы собираемся построить это! В восторге? Да, я тоже!
Структура
Bootstrap понимает элементы HTML5, поэтому нам нужно добавить соответствующий тег «doctype» на нашу веб-страницу. Давайте создадим новую HTML-страницу и добавим следующий тег «doctype».
<!DOCTYPE html>
Теперь мы добавим основные теги, которые присутствуют в каждом документе HTML:
<html> <head> <title>Bootstrap 101 Template</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- Bootstrap --> <link href="css/bootstrap.min.css" rel="stylesheet" media="screen"> </head> <body> <h2>Hello, world!</h2> <script src="//code.jquery.com/jquery.js"></script> <script src="js/bootstrap.min.js"></script> </body> </html>
Глядя внутрь <head>, у нас есть элемент «title», который достаточно легко понять: он дает название странице.
Также у нас есть элемент «meta», который очень важно понимать при использовании Bootstrap. Поскольку эта версия Bootstrap построена для совместимости с различными типами устройств (мобильные телефоны, планшеты, настольные компьютеры, дисплеи Retina и т. д.), вы должны сообщить браузеру, что он должен масштабировать вашу веб-страницу соответствующим образом на каждом устройстве.
Мета элемент «viewport» делает это: здесь мы установили начальную ширину устройства «content-width» и масштабировали его только один раз.
После установки мета-элемента «viewport» мы импортировали версию разработки файла bootstrap.css.
Перейдем к разделу «body» приведенного выше фрагмента HTML. Чтобы что-то вывести, мы написали «Hello, world» внутри тега «h2». Затем мы подлючили необходимые файлы JavaScript из папки «js». Убедитесь, что эти файлы JavaScript подлючены на каждой странице. Документация Bootstrap рекомендует включать все JavaScript в конце страницы.
Погружение в Bootstrap
Теперь, когда наша базовая структура готова, мы перейдем к добавлению разных компонентов на нашу веб-страницу. Эти компоненты на сегодняшний день являются наиболее важной частью каждого веб-сайта, поскольку мы их видим каждый день. Я собираюсь разделить демо-страницу на различные части, как показано ниже.
Раздел меню
Проектирование меню в Bootstrap — это самая простая вещь, которая может произойти в мире веб-дизайна. Давайте начнем создавать меню для нашей веб-страницы.
Меню реагирует по умолчанию и получает новый вид на более мелких устройствах. Поскольку у нас есть весь CSS, готовый в нашем файле «bootstrap.css», нам просто нужно добавить правильную разметку и правильные классы для каждого элемента.
Начнем с <nav> элемента:
<nav> /* navbar code here */ </nav>
Поскольку Bootstrap совместим с HTML5, мы будем использовать элемент <nav> для нашего меню навигации. Давайте я расскажу про каждый класс, применяемый к нему.
- «navbar» является классом обертки для «navbars».
- «navbar-expand-lg» добавляет гибкую функциональность, беря на себя ответственность за расширение или свертывание навигации в зависимости от размера экрана. Вместо -lg, чтобы быть большим, вы также можете выбрать -md(средние экраны), -sm(маленькие экраны) и -xl(очень большие).
- «navbar-light» — это класс цвета для навигации со светлым фоном.
- «bg-light» далее настраивает цвет фона навигации. В этом случае навигация имеет светлый цвет. Если мы заменим «bg-light» на «bg-dark», цвет фона навигационной панели будет темным а цвет текста будет светлым.
Далее добавьте следующий фрагмент внутри элемента <nav>:
<a href="#">Vacation Rentals</a> <button type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span></span> </button>
Класс «navbar-brand» используется для брендинга целей. В нашем случае отображается имя веб-сайта.
Затем обратите внимание на классы в элементе <button>. Эта кнопка видна только на маленьких экранах, и она используется для включения и выключения видимости меню data-target=»#navbarSupportedContent», что является ссылкой на значение идентификатора элемента «div», содержащего это меню. Давайте добавим этот элемент сейчас, чуть ниже предыдущего кода:
<!-- div containing the toggable navigation --> <div> <!-- navigation menu --> <ul> <!-- active link corresponding to the current page --> <li> <a href="#">Home <span>(current)</span></a> </li> <li> <a href="#">Trip Description</a> <li> <a href="#">About Us</a> </li> <li> <a href="#">Book Travels</a> </li> <li> <a href="#">Reservations</a> </li> </ul> <!-- inline form inside the navbar --> <form> <input type="search" placeholder="Search" aria-label="Search"> <button type="submit">Search</button> </form> </div>
Вышеприведенный код является основным содержанием нашего меню. «navbar-collapse» применяется, чтобы сделать меню сенсорным, а также изменить его форму для небольших устройств. Содержимое внутри довольно легко понять. Мы использовали базовые элементы ul и li для перечисления пунктов меню. Также есть форма, которая классифицируется «form-inline» так, чтобы она отображалась правильно внутри панели навигации. И, наконец, я показал основную структуру, чтобы разместить раскрывающееся меню внутри навигации.
Здесь важны две вещи:
- Использование utility classes, таких как mr-sm-2, mr-auto и т. д. Это довольно ново для Bootstrap, и их много.
- Внимание к доступности с помощью класса «sr-only», который обрабатывает контент, предназначенный для чтения с экрана, и такие атрибуты, как «aria-controls» и «aria-expanded».
Вы также можете обратиться к документации, которая настоятельно рекомендуется всякий раз, когда вы находитесь в каком-либо замешательстве.
Итак, мы, наконец, закончили навигационное меню. Давайте перейдем к построению остальной части разметки внутри раздела <body>.
Область заголовка
Bootstrap предлагает класс полезного использования «jumbotron», который можно использовать для отображения больших заголовков и содержимого. Это в основном используется на веб-сайтах, основанных на продуктах. Для этого нам нужно добавить следующую разметку:
<div> <header> <div> <h2> Best Vacation Rentals </h2> <p>Sed placerat fringilla quam et.</p> <button type="button">Start Now!</button> </div> </header> </div>
Мы поставили «jumbotron» внутри div с классом «row» и дали самому «jumbotron» дополнительный класс «col». Это классы, которые использует Bootstrap для построения своей 12-колонной сетки.
Также обратите внимание на использование классов «container-fluid» и «jumbotron-fluid». Эти классы гарантируют, что «container» и «jumbotron» принимают 100% ширину родительского элемента контейнера или браузера, если родительский элемент отсутствует.
Внутри элемента div c классом «jumbotron» мы поместили элементы: h2, p и, наконец, причудливую кнопку.
Класс «display-4» является одним из последних дополнений в Bootstrap. Это класс отображения заголовка, который вы можете использовать, когда вам нужны заголовки, чтобы он действительно выделялся.
Класс «text-light» также является новым дополнением в Bootstrap. Это один из классов полезности цвета, позволяющий быстро контролировать цвет и цвет фона элементов.
Обновите браузер и посмотрите на область заголовка. Потрясающие!
Область содержимого
Теперь нам нужно разделить область содержимого на три равные области и разместить их рядом друг с другом. Благодаря сетке Bootstrap, это будет можно сделать быстро и легко.
Bootstrap обеспечивает 12-колонную сетку. Он делит экран на 12 равных частей, и нам нужно указать, какой элемент HTML занимает какие части сетки. Короче говоря, любой элемент будет занимать минимум одну сетку.
Давайте сначала посмотрим на разметку.
<div> <!-- first column --> <div> </div> <!-- second column --> <div> </div> <!-- third column --> <div> </div> </div>
Во-первых, есть три элемента div, которые содержатся внутри одной строки. Итак, мы начинаем новую строку, добавляя новый класс «row».
Строка теперь содержит еще три тега div с классом «col-sm». Перед выпуском Bootstrap 4 достижение этого результата потребовало бы добавления класса «col-md-4» к каждому из этих элементов. Число 4 в классе означало, что сетка состояла из четырех столбцов. Таким образом, три div с четырьмя столбцами занимали 12 столбцов.
Новая сетка Bootstrap использует силу Flexbox, чтобы сделать вещи способом менее сложным. Класс «col-sm» в каждой колонке div само по себе гарантирует, что содержание равномерно делится между тремя div-ами, пока размер экрана не станет 576px, это точка, где столбцы начнут складываться друг на друга.
Класс «pb-4» один из новых служебных классов, которые приходят с Bootstrap 4. Это создает некоторый отступ снизу внутри элемента на основе значения.
Поскольку у нас есть несколько подходящих div-ов, теперь настало время заполнить их некоторым контентом. В нашем случае содержимое уникально для каждого из них, с разными изображениями, но структура одна и та же. Вот пример содержимого в первом столбце:
<!-- first column --> <div> <!-- column content here --> <a href="#"> <img src="path/to/img" alt=""> </a> <h4>Type 1</h4> <p> Lorem Ipsum... </p> <button>Book Now @ $599></button> </div>
Добавленное изображение имеет класс «img-fluid», который позволяет соответствовать размеру родителя независимо от его собственного размера. Изображение реагирует на размер каждого div. Также у нас есть нормальные теги h4 и p. Вы можете заполнить тег p любым контентом. На моей демо-странице я использовал автоматически генерируемый текст Lorem Ipsum. Затем, в конце, я добавил кнопку.
Класс «btn-success» используется, чтобы сделать кнопку зеленой. Есть другие классы как «btn-info», «btn-default», «btn-warning» и «btn-danger». Вы можете просмотреть страницу документации для всех цветов.
Наконец, мы использовали несколько классов, полезные для полей, центрирования и округления внешнего вида изображения в круг.
Футер (подвал сайта)
Область футера соответствует тем же принципам, что и область содержимого. Вот разметка:
<footer> <!-- first column --> <div> <small><p>© 2018</p></small> </div> <!-- second column --> <div> <ul> <li> <a href="#">About Us</a> </li> <li> <a href="#">Support 24x7</a> </li> <li> <a href="#">Privacy Policy</a> </li> </ul> </div> <!-- third column --> <div> <small><p>Vacation Rentals</p></small> </div> </footer>
Я использовал элемент HTML5 «footer» и создал еще одну строку одновременно. Затем я разделил всю область на три равные части, так же, как и в основной области содержимого выше. Затем я заполнил каждый столбец.
Некоторые дополнительные классы
Классы таблиц: если вы используете элемент <table>, вы можете использовать этот класс «.table», чтобы таблица выглядела немного более привлекательной, как это обозначено в стилях Bootstrap.
Обтекания (floats): вы можете использовать «.float-left» — помещает содержимое слева, а контент обтекает блок справа, «.float-right» — чтобы поместить содержимое справа, а контент обтекал блок слева и «float-none» — удаляет float из этого элемента.
Класс «clearfix»: этот класс используется для очистки float в любом элементе.
И в завершении
Итак, это было мое маленькое руководство «Как мне начать» для последней версии Bootstrap. Основной мотив состоял в том, чтобы вы поняли, как работает Bootstrap. Как вы могли видеть, я не написал больше нескольких строк кода CSS. Bootstrap обрабатывает все самостоятельно с помощью своего предопределенного набора файлов CSS и JS.
Одним из основных недостатков Bootstrap является то, что он не совместим со старой своей версией. Итак, если ваш сайт построен с помощью Bootstrap 3 и вы замените все файлы CSS и JS на файлы Bootstrap 4, ваш дизайн сломается. Создатели Bootstrap внесли огромные изменения в имена классов CSS и улучшили отзывчивость полученных веб-сайтов.
Вы также можете добавить свой CSS на сайт. Создайте свой собственный файл CSS с любым именем — например: customstyles.css — и импортируйте в него Bootstrap CSS. Затем определите свой собственный стиль, используя соответствующий класс элемента или идентификатор. В этой демонстрации я использовал бы свой файл customstyle.css, чтобы изменить фон элемента «jumbotron».
Вот демонстрационная страница того, что у нас с вами получилось.
Вышла не плохая познавательная статья для новичков. Я сам только недавно начал использовать в своих работах Bootstrap 4, и поэтому мне также интересно развиваться вместе с вами.
Но на сегодня это все. Не забывайте подписываться на обновления моего блога и до скорых встреч!
Навигация по записям
Юрич:
Занимаюсь созданием сайтов на WordPress более 6 лет. Ранее работал в нескольких веб-студиях и решил делиться своим опытом на данном сайте. Пишите комментарии, буду рад общению.
Не забудьте подписаться на обновления:
Похожие записи
Оставить свой комментарий
remy / min.js: суперминимальный селектор и библиотека событий
Ультра-крошечная библиотека JavaScript для выполнения простых запросов DOM и подключения прослушивателей событий. Направлен на возврат необработанного узла DOM, которым вы могли бы управлять напрямую, используя технологию HTML5 (и др.), Такую как element.classList
или element.innerHTML
и т. Д.
Элементы запроса
var links = $ ('p: первый ребенок a');
Если есть более одной ссылки, возвращаемое значение — NodeList
, если есть только одно совпадение, у вас есть объект Element
.Итак, вам нужно иметь представление о том, чего ожидать, если вы хотите изменить DOM.
События
Привязать события
$ ('p: first-child a'). On ('щелчок', функция (событие) { event.preventDefault (); // делаем что-нибудь еще });
Примечание: методы для
и trigger
используются как для объектов Node
, так и для объектов NodeList
, что также означает, что это влияет на узел document
, поэтому document.on (type, callback)
также будет работать .
Пользовательские события
$ ('a'). On ('foo', function () { // foo был запущен }); $ ('a: первый ребенок'). trigger ('foo');
Произвольные события / pubsub
$ .on ('foo', function () { // foo был запущен, но не требует селектора });
Отключение событий?
Текущий min.js не поддерживает отключение событий (кроме .removeEventListener
— но даже в этом случае у вас нет ссылочной функции для работы). В настоящее время нет планов по внедрению этого (поскольку я обнаружил, что вообще не отключаю события), но я не закрыт для этой идеи.Открыта проблема, но она добавляет немного больше логики к очень маленькому файлу. Если по проблеме будет достаточно 👍, я добавлю ее. Точно так же, если вы считаете, что min.js должен оставаться простым, пожалуйста, — это тоже полезно.
Зацикливание
$ ('p'). ForEach (function (el, index) { console.log (el.innerHTML); });
Примечание: библиотеки, подобные jQuery, как правило, делают контекст этим элементом
. Поскольку мы заимствуем для каждого
из объекта массива, это
не относится к элементу.
Цепочка событий
$ ('a'). On ('foo', bar) .on ('щелчок', doclick) .trigger ('foobar');
Также, когда сопоставляется один элемент, у вас есть доступ к нему:
$ ('а'). Href = '/some-place.html';
Бесшумный отказ
Как и jQuery, эта крошечная библиотека молча дает сбой, если не соответствует ни одному элементу. Как и следовало ожидать.
Как уменьшить размер CSS, JS и HTML ?. Google очень строги, когда дело касается… | by Pawan Sahu
Google очень строг, когда дело касается ранжирования веб-сайтов.Не только ваш сайт должен быть оптимизирован для SEO, но и придерживаться строгого времени загрузки для оптимального взаимодействия с пользователем. Все начинается, когда посетитель посещает ваш сайт впервые. Если сайт работает медленно, посетитель уйдет с него в поисках лучшего веб-сайта, который быстро загружается и предлагает такой же или лучший контент.
Google это знает. Вот почему они также ранжируют сайты, которые загружаются быстрее. Ваша задача как блогера или владельца бизнеса — как можно быстрее загрузить свой сайт.Есть много способов сделать это, но в этой статье мы сосредоточимся исключительно на том, как минимизировать CSS, JS и HTML.
Ваш веб-сайт построен с использованием множества файлов, большинство из которых являются HTML, CSS и JS. Эти файлы содержат множество кодов, которые автоматически сгенерированы или написаны разработчиком. Благодаря этому они имеют размер. Код, записанный в этих файлах, удобен для чтения, поскольку их необходимо поддерживать. Однако это не относится к машинам, поскольку они могут быстро читать код.Короче говоря, это означает, что компьютеру не нужен форматированный код, который мы можем использовать для экономии места и увеличения размера файлов веб-сайтов.
Прежде чем мы начнем с реального процесса, мы сначала узнаем, что именно означает «минимизация» и как это может улучшить время загрузки веб-сайта.
Minify — это процесс, с помощью которого из кода удаляются ненужные пробелы или символы. Эти пробелы и символы не нужны для запуска кода и, следовательно, просто увеличивают размер файла. Когда они удаляются, файлы становятся светлее, что, в свою очередь, сокращает время загрузки страницы.Minify — отличная стратегия, позволяющая удовлетворить ожидания посетителей и повысить рейтинг.
Когда процесс минификации завершен, он удаляет следующие элементы из вашего кода:
1. Символы новой строки
2. Пробельные символы
3. Разделители блоков
4. Комментарии
Все эти символы и комментарии добавляют читаемость кода, который предназначен исключительно для читателей. Минификация помогает передавать общие данные, когда веб-сайт запрашивается с сервера.
Как разработчик, легко отличить минифицированный файл от неминифицированного файла. У минифицированного файла есть расширение .min. Например, header.min.css
Сжатие не похоже на минификацию. Сжатие — это метод, при котором размер файла уменьшается за счет использования алгоритмов сжатия или схем ushc как brotli или gzip. Оба они служат для уменьшения размера файла, но с разными подходами. Таким образом, вы можете минимизировать файлы, а затем сжать их перед отправкой клиенту, запрашивающему веб-сайт.Файлы, однажды полученные со стороны клиента, затем будут распакованы и затем использованы для целей рендеринга.
Эта разница объясняется в большей части руководств по ведению блогов для новичков в руководствах по оптимизации производительности.
Теперь, когда мы поняли, что такое минификация и ее отличие от сжатия, пришло время узнать, как минимизировать CSS, JS и HTML.
Первый процесс очень прост. Все, что вам нужно сделать, это удалить ненужные вещи из вашего кода.Давайте посмотрим на пример ниже.
Портфолио
После минификации это будет выглядеть так:
Портфолио
Разве это не сложно читать? Может быть, для людей, но не для компьютера. Приведенный выше формат удаляет любые ненужные пробелы, разрывы и т. д. делают его меньше и, следовательно, сокращают время загрузки файла.
Ручной процесс возможен, и вы не хотите тратить время на настройку веб-сайта в первый раз. Вот почему у нас есть инструменты, которые выполняют минификацию за вас. Итак, давайте перечислим их ниже.
CSS
CSSminifier.com : Простой в использовании инструмент, позволяющий минимизировать CSS. Все, что вам нужно сделать, это скопировать и вставить свой код и загрузить уменьшенную версию в виде файла.
phpied.com : Это инструмент разработки, который использует минификацию CSS YUI Compressor.
JS
Jscompress.com: Это инструмент минификации на основе JavaScript. Этот инструмент позволяет вам скопировать и вставить ваш код и загрузить минимизированный код.
yui.github.io: Инструмент разработки, который можно использовать во время разработки.
HTML
htmlcompress.com: Онлайн-инструмент минимизации, который позволяет минимизировать HTML, CSS и JavaScript.
HTMLMinifier: Вы также можете проверить этот компрессор HTML на основе JavaScript.Он один из лучших и легко интегрируется в ваш проект.
В сети много соревнований. Чтобы добиться успеха, вам нужно максимально использовать доступные инструменты, техники и методы. Вот почему мы пошли дальше и поделились идеей минификации. Мы также перечислили инструменты, которые позволяют естественным образом выполнять минификацию. Если вы используете CMS, такую как WordPress, вы найдете много кэширования или даже специальный плагин для минификации, который сделает это за вас.
Итак, что вы думаете о минификации? Планируете ли вы использовать его в своих проектах? Если да, оставьте комментарий ниже и дайте нам знать.
размещенных библиотек | Разработчики Google
Размещенные библиотеки Google — это стабильная, надежная, высокоскоростная, глобальная доступная сеть распространения контента для самых популярных, с открытым исходным кодом Библиотеки JavaScript.
Google работает напрямую с ключевыми заинтересованными сторонами по каждому проекту библиотеки. и принимает самые последние версии по мере их выпуска.
Библиотеки
Чтобы загрузить размещенную библиотеку, скопируйте и вставьте фрагмент HTML для этого
библиотеки (показано ниже) на вашей веб-странице.Например, чтобы загрузить
jQuery, вставьте сценарий <
src = "https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js">
фрагмент на вашей веб-странице.
Мы рекомендуем загружать библиотеки из CDN через HTTPS, даже если у вас собственный веб-сайт использует только HTTP. В настоящее время производительность высокая, а кеширование работает точно так же. Файлы CDN обслуживаются CORS а также Время-Разрешить заголовки и разрешено кешировать на 1 год.
ЦезийJS
- фрагмент:
-
<скрипт src = "https://ajax.googleapis.com/ajax/libs/cesiumjs/1.78/Build/Cesium/Cesium.js">
- сайт:
- github.com/CesiumGS/cesium
- версий:
- 1,78
D3.js
- фрагмент:
-
<скрипт src = "https: // ajax.googleapis.com/ajax/libs/d3js/6.7.0/d3.min.js ">
- сайт:
- d3js.org
- версий:
- 6.7.0, 6.6.2, 6.6.1, 6.6.0, 6.5.0, 6.3.1, 6.2.0, 6.1.1, 5.16.0, 5.15.1, 5.15.0, 5.14.2, 5.12. 0, 5.11.0, 5.9.7, 5.9.2, 5.9.0, 5.8.0, 5.7.0, 4.13.0, 3.5.17
Додзё
- фрагмент:
-
<скрипт src = "https://ajax.googleapis.com/ajax/libs/dojo/1.13.0 / dojo / dojo.js ">
- сайт:
- dojotoolkit.org
- версий:
- 1.13.0, 1.12.3, 1.12.2, 1.12.1, 1.11.5, 1.11.4, 1.11.3, 1.11.2, 1.11.1, 1.10.9, 1.10.8, 1.10.7, 1.10.6, 1.10.5, 1.10.4, 1.10.3, 1.10.2, 1.10.1, 1.10.0, 1.9.11, 1.9.10, 1.9.9, 1.9.8, 1.9.7, 1.9.6, 1.9.5, 1.9.4, 1.9.3, 1.9.2, 1.9.1, 1.9.0, 1.8.14, 1.8.13, 1.8.12, 1.8.11, 1.8.10, 1.8.9, 1.8.8, 1.8.7, 1.8.6, 1.8.5, 1.8.4, 1.8.3, 1.8.2, 1.8.1, 1.8.0, 1.7.12, 1.7.11, 1.7.10, 1.7.9, 1.7.8, 1.7.7, 1.7.6, 1.7.5, 1.7.4, 1.7.3, 1.7.2, 1.7.1, 1.7. 0, 1.6.5, 1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6.0, 1.5.6, 1.5.5, 1.5.4, 1.5.3, 1.5.2, 1.5.1, 1.5.0, 1.4.8, 1.4.7, 1.4.6, 1.4.5, 1.4.4, 1.4.3, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.3, 1.2.0, 1.1.1
Ext Core
- фрагмент:
-
<скрипт src = "https: // ajax.googleapis.com/ajax/libs/ext-core/3.1.0/ext-core.js ">
- сайт:
- sencha.com/products/extcore
- версий:
- 3.1.0, 3.0.0
Hammer.JS
- фрагмент:
-
<скрипт src = "https://ajax.googleapis.com/ajax/libs/hammerjs/2.0.8/hammer.min.js">
- сайт:
- hammerjs.github.io
- версий:
- 2.0.8
неопределенный наблюдаемый
- фрагмент:
-
- сайт:
- https://github.com/material-motion/indefinite-observable-js
- версий:
- 2.0,1, 1.0.1
jQuery
- 3.x фрагмент:
-
<скрипт src = "https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js">
- 2.x фрагмент:
-
<скрипт src = "https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js">
- 1.x фрагмент:
-
<скрипт src = "https: // ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js ">
- сайт:
- jquery.com
- версий:
- 3.6.0, 3.5.1, 3.5.0, 3.4.1, 3.4.0, 3.3.1, 3.2.1, 3.2.0, 3.1.1, 3.1.0, 3.0.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.4, 2.1.3, 2.1.1, 2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0. 0, 1.12.4, 1.12.3, 1.12.2, 1.12.1, 1.12.0, 1.11.3, 1.11.2, 1.11.1, 1.11.0, 1.10.2, 1.10.1, 1.10.0, 1.9.1, 1.9.0, 1.8.3, 1.8.2, 1.8.1, 1.8.0, 1.7.2, 1.7.1, 1.7.0, 1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6.0, 1.5.2, 1.5.1, 1.5.0, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3. 0, 1.2.6, 1.2.3
- примечание:
- 3.3.0, 2.1.2, 1.2.5 и 1.2.4 не размещены из-за их короткой и нестабильной жизни в дикой природе.
jQuery Mobile
- фрагмент:
-
<ссылка rel = "stylesheet" href = "https://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5 / jquery.mobile.min.css ">
- сайт:
- jquerymobile.com
- версий:
- 1.4.5, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0
- примечание:
- Эта библиотека зависит от jQuery. Вы также должны загрузить jQuery перед загрузкой этого модуля.
jQuery UI
- фрагмент:
-
<ссылка rel = "stylesheet" href = "https: // ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css ">
- сайт:
- jqueryui.com
- версий:
- 1.12.1, 1.12.0, 1.11.4, 1.11.3, 1.11.2, 1.11.1, 1.11.0, 1.10.4, 1.10.3, 1.10.2, 1.10.1, 1.10.0, 1.9.2, 1.9.1, 1.9.0, 1.8.24, 1.8.23, 1.8.22, 1.8.21, 1.8.20, 1.8.19, 1.8.18, 1.8.17, 1.8.16, 1.8.15, 1.8.14, 1.8.13, 1.8.12, 1.8.11, 1.8.10, 1.8.9, 1.8.8, 1.8.7, 1.8.6, 1.8.5, 1.8.4, 1.8.2, 1.8.1, 1.8.0, 1.7.3, 1.7.2, 1.7.1, 1.7.0, 1.6.0, 1.5.3, 1.5.2
- примечание:
- Эта библиотека зависит от jQuery. Вы также должны загрузить jQuery перед
загрузка этого модуля. Версия 1.8.3 не размещается из-за ее короткого
life, а псевдоним
1.8.3
фактически загружает 1.8.4.
Движение материала
- фрагмент:
-
- сайт:
- https://github.com/material-motion/material-motion-js
- версий:
- 0.1.0
MooTools
- фрагмент:
-
<скрипт src = "https://ajax.googleapis.com/ajax/libs/mootools/1.6.0/mootools.min.js">
- сайт:
- mootools.сеть
- версий:
- 1.6.0, 1.5.2, 1.5.1, 1.5.0, 1.4.5, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.1.2, 1.1.1
- примечание:
- Для версий 1.5.1 и ранее имя файла минифицированной версии называется mootools-yui-compressed.js вместо mintools.min.js.
Myanmar Tools
- фрагмент:
-
<скрипт src = "https: // ajax.googleapis.com/ajax/libs/myanmar-tools/1.2.1/zawgyi_detector.min.js ">
<скрипт src = "https://ajax.googleapis.com/ajax/libs/myanmar-tools/1.2.1/zawgyi_converter.min.js">
- сайт:
- https://github.com/google/myanmar-tools/
- рекомендуемые версии:
- 1.2.1
- все размещенные версии:
- 1.0.1
- 1.1.0
- 1.1,1
- 1.1.3
- 1.2.0
- 1.2.1
Опытный образец
- фрагмент:
-
<скрипт src = "https://ajax.googleapis.com/ajax/libs/prototype/1.7.3.0/prototype.js">
- сайт:
- prototypejs.org
- версий:
- 1.7.3.0, 1.7.2.0, 1.7.1.0, 1.7.0.0, 1.6.1.0, 1.6.0.3, 1.6.0.2
скрипт.aculo.us
- фрагмент:
-
<скрипт src = "https://ajax.googleapis.com/ajax/libs/scriptaculous/1.9.0/scriptaculous.js">
- сайт:
- script.aculo.us
- версий:
- 1.9.0, 1.8.3, 1.8.2, 1.8.1
- примечание:
- Эта библиотека зависит от
Prototype
. Перед загрузкой этого модуля вы должны загрузить Prototype.
Shaka Player
- фрагмент:
-
- сайт:
- https://github.com/google/shaka-player/
- рекомендуемые версии:
- 3.0.10, 2.5.21
- все размещенные версии:
- 3.0.10, 3.0.9, 2.5.21, 3.0.8, 2.5.20, 3.0.7, 2.5.19, 3.0.6, 2.5.18, 3.0.5, 2.5.17, 3.0.4, 2.5 .16, 3.0.3, 2.5.15, 3.0.2, 2.5.14, 3.0.1, 2.5.13, 3.0.0, 2.5.12, 2.5.11, 2.5.10, 2.5.9, 2.5.8 , 2.5.7, 2.5.6, 2.5.5, 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.5.0-beta3, 2.5.0-beta2, 2.5.0-beta, 2.4.7, 2.4.6, 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4. 1, 2.4.0, 2.3.10, 2.3.9, 2.3.8, 2.3.7, 2.3.6, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 2.3.1, 2.3.0, 2.2.10, 2.2.9, 2.2.8, 2.2.7, 2.2.6, 2.2.5, 2.2.4, 2.2.1, 2.2.0, 2.1.9, 2.1.8, 2.1.7, 2.1. 6, 2.1.5, 2.1.4, 2.1.3, 2.1.2, 2.1.1, 2.1.0, 2.0.9, 2.0.8, 2.0.6, 1.6.5
SPF
- фрагмент:
-
<скрипт src = "https://ajax.googleapis.com/ajax/libs/spf/2.4.0 / spf.js ">
- сайт:
- youtube.github.io/spfjs
- версий:
- 2.4.0, 2.3.2, 2.3.1, 2.3.0, 2.2.0, 2.1.2, 2.1.1, 2.1.0, 2.0.1, 2.0.0
SWFObject
- фрагмент:
-
<скрипт src = "https://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js">
- сайт:
- github.com / swfobject / swfobject
- версий:
- 2.2, 2.1
three.js
- фрагмент:
-
<скрипт src = "https://ajax.googleapis.com/ajax/libs/threejs/r84/three.min.js">
- сайт:
- threejs.org
- версий:
- r84, r83, r82, r81, r80, r79, r78, r77, r76, r75, r74, r73, r72, r71, r70, r69, r68, r67, r49
Загрузчик веб-шрифтов
- фрагмент>
-
<скрипт src = "https: // ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js ">
- сайт:
- github.com/typekit/webfontloader
- версий:
- 1.6.26, 1.6.16, 1.5.18, 1.5.10, 1.5.6, 1.5.3, 1.5.2, 1.5.0
Устранение неисправностей
Видите устаревшую версию? Убедитесь, что вы не используете ссылки «автоматическая версия», например / jqueryui / 1 / ...
, но вместо этого используйте URL-адреса, относящиеся к точным версиям.Из-за опасений по поводу кеширования и отсутствия совместимости даже между второстепенными версиями у нас есть
устарела и перестала обновлять псевдонимы автоматической версии некоторое время назад, поэтому они будут
навсегда ссылаться на старую версию (чтобы не нарушать работу существующих сайтов, которые все еще их используют).
Если возникнут проблемы:
Содержание · Bootstrap
Узнайте, что входит в Bootstrap, включая наши варианты предварительно скомпилированного и исходного кода. Помните, что для плагинов JavaScript в Bootstrap требуется jQuery.
Предварительно скомпилированный загрузочный файл
После загрузки распакуйте сжатую папку, и вы увидите что-то вроде этого:
бутстрап /
├── css /
│ ├── bootstrap-grid.css
│ ├── bootstrap-grid.css.map
│ ├── bootstrap-grid.min.css
│ ├── bootstrap-grid.min.css.map
│ ├── bootstrap-reboot.css
│ ├── bootstrap-reboot.css.map
│ ├── bootstrap-reboot.min.css
│ ├── bootstrap-reboot.min.css.map
│ ├── bootstrap.css
│ ├── bootstrap.css.map
│ ├── бутстрап.min.css
│ └── bootstrap.min.css.map
└── js /
├── bootstrap.bundle.js
├── bootstrap.bundle.js.map
├── bootstrap.bundle.min.js
├── bootstrap.bundle.min.js.map
├── bootstrap.js
├── bootstrap.js.map
├── bootstrap.min.js
└── bootstrap.min.js.map
Это самая простая форма Bootstrap: предварительно скомпилированные файлы для быстрого использования практически в любом веб-проекте. Мы предоставляем скомпилированные CSS и JS ( bootstrap. *
), а также скомпилированные и минифицированные CSS и JS ( bootstrap.мин. *
). исходные карты ( bootstrap. *. map
) доступны для использования с некоторыми инструментами разработчика браузеров. Связанные файлы JS ( bootstrap.bundle.js
и минифицированные bootstrap.bundle.min.js
) включают Popper, но не jQuery.
CSS-файлы
Bootstrap включает несколько опций для включения некоторых или всего нашего скомпилированного CSS.
Файлы CSS | Макет | Содержание | Компоненты | Коммунальные услуги |
---|---|---|---|---|
| Включено | Включено | Включено | Включено |
| Только сетка | Не входит | Не входит | Только гибкие утилиты |
| Не входит | Только перезагрузка | Не входит | Не входит |
JS файлы
Точно так же у нас есть варианты для включения части или всего нашего скомпилированного JavaScript.
Файлы JS | Поппер | jQuery |
---|---|---|
| Включено | Не входит |
| Не входит | Не входит |
Исходный код начальной загрузки
Исходный код Bootstrap для загрузки включает предварительно скомпилированные ресурсы CSS и JavaScript, а также исходный код Sass, JavaScript и документацию.В частности, он включает в себя следующее и многое другое:
бутстрап /
├── dist /
│ ├── css /
│ └── js /
├── документы /
│ └── примеры /
├── js /
└── scss /
scss /
и js /
являются исходным кодом для наших CSS и JavaScript. Папка dist /
включает все, что указано в предварительно скомпилированном разделе загрузки выше. Папка docs /
включает исходный код нашей документации и примеров /
использования Bootstrap.Кроме того, любой другой включенный файл обеспечивает поддержку пакетов, лицензионной информации и разработки.
Начало работы с Video.js — Video.js: платформа Player
Есть несколько способов начать использовать Video.js (в настоящее время v7.11.4), но вы должны выбрать тот, который лучше всего подходит для вашего конкретного случая использования.
Наши друзья из Fastly достаточно любезны, чтобы предоставить хостинг для всех необходимых файлов Video.js в их сети доставки контента. Использование этих размещенных файлов, вероятно, самый простой способ начать работу с видео.js, вам просто нужно добавить на свою страницу следующие ссылки.
<заголовок>
<видео
контроль
preload = "авто"
poster = "MY_VIDEO_POSTER.jpg"
data-setup = "{}"
>
Для просмотра этого видео включите JavaScript и рассмотрите возможность обновления до
веб-браузер, который
поддерживает видео HTML5 a
>
Для более сложных рабочих процессов рекомендуется установка через npm
$ npm install --save-dev video.js
Начиная с v7, мы больше не будем поддерживать версии Microsoft Internet Explorer до IE 11, включая IE 8, 9 и 10.Microsoft прекратила поддержку этих версий более двух лет назад, многие считают, что они не соответствуют современным стандартам безопасности, и на них приходится менее 0,1% использования браузера Video.js.
Для версий Video.js до v7 есть несколько общих вещей, которые вы должны помнить независимо от того, как вы в конечном итоге включите Video.js в свой проект. Основная кодовая база использует несколько современных функций Javascript (ES5), поэтому, если вы хотите поддерживать IE8, вам необходимо включить прокладку ES5.Чтобы упростить задачу, мы создали один файл, который вы можете включить для поддержки IE8. Независимо от того, где размещена основная библиотека Video.js, этот файл должен находиться в
документа.
Мы включаем урезанный пиксель Google Analytics, который отслеживает случайный процент (в настоящее время 1%) плееров, загруженных из CDN. Это позволяет нам видеть (примерно), какие браузеры используются в реальных условиях, а также другие полезные показатели, такие как ОС и устройство. Если вы хотите отключить аналитику, вы можете просто включить следующую глобальную переменную перед включением видео.js через бесплатный CDN:
Примечание: версия 7 не отправляет никаких данных, а версия 6.8 и выше учитывает флаг браузера «Не отслеживать».
окно. HELP_IMPROVE_VIDEOJS = false;
Если вы загрузили один из выпусков или установили его через диспетчер пакетов, вы, вероятно, заметили, что его содержимое немного отличается от исходного кода, доступного на Github. Первый включает только скомпилированные файлы, необходимые для использования Video.js, а второй включает источник, использованный для создания этих файлов.
Дистрибутив Video.js — это то, что вы найдете, если скачали выпуск или установили его через диспетчер пакетов.
Video.js /
├── alt
│ ├── video.core.js
│ ├── video.core.min.js
│ ├── video.core.novtt.js
│ ├── video.core.novtt.min.js
│ ├── video.novtt.js
│ └── video.novtt.min.js
├── примеры /
├── шрифт
│ ├── VideoJS.svg
│ ├── VideoJS.ttf
│ └── VideoJS.woff
├── lang /
├── video-js- $ LATEST_VERSION $ .zip
├── video-js.css
├── видео-js.min.css
├── video.cjs.js
├── Video.es.js
├── Video.js
└── video.min.js
Этот пакет включает все необходимое для использования Video.js на рабочем сайте. По умолчанию мы объединяем Video.js с отличным VTT.js. от Mozilla. Если по какой-либо причине вам не нужна функциональность VTT.js, вы можете использовать одну из копий Video.js, которые не включают VTT.js. Они имеют в названии novtt
и находятся в каталоге alt /
. font /
включает все сгенерированные файлы шрифтов значков из проекта Videojs Font. lang /
содержит все сгенерированные файлы переводов.
Исходный код — это все, что вы найдете при проверке репозитория Video.js git. Сюда входят все исходные файлы и любые инструменты, необходимые для создания готовой к производству версии Video.js, а также полезные инструменты разработки, такие как изолированные примеры.
Большая часть корневого исходного каталога — это конфигурации JSON для различных менеджеров пакетов, потому что Интернет. Скорее всего, важные вещи, которые вы ищете, будут в src /
и build /
. src /
содержит все исходные файлы как для JS плеера, так и для базового скина, в то время как каталог build /
содержит различные задачи grunt, а также основной файл сборки grunt.js
.
Перед тем, как начать, вам необходимо установить Node.js. См. CONTRIBUTING.md для получения более подробной информации.
Использование Video.js прямо из коробки — это нормально, но мы думаем, что лучше, если вы сделаете его самостоятельно. Плагины и скины позволяют полностью настроить ваш плеер.
Скин плеера полностью построен на HTML и CSS, в том числе при использовании Flash и других плееров, таких как YouTube.
Изменения скинов могут быть такими же простыми, как центрирование кнопки воспроизведения (вы можете просто добавить класс «vjs-big-play-centered» в свой тег видео), или столь же сложными, как создание совершенно новых макетов. Мы создали проект codepen, в котором вы можете изучить различные изменения.
Темы на домашней странице взяты из библиотеки Videojs Themes. Чтобы использовать их в проигрывателе, импортируйте CSS, а затем добавьте соответствующий класс в свой тег видео.Например, если вы хотите использовать тему города, вы можете настроить свой HTML так:
<ссылка
href = "https://unpkg.com/video.js@7/dist/video-js.min.css"
rel = "таблица стилей"
/>
<ссылка
href = "https://unpkg.com/@videojs/themes@1/dist/city/index.css"
rel = "таблица стилей"
/>
Отличным местом для начала является конструктор скинов Video.js, но в конце концов мы предлагаем использовать каскадный аспект CSS, чтобы просто переопределить части дизайна, которые вы хочу настроить.
Video.js сам по себе очень прост. Он поддерживает основные функции воспроизведения видео и аудио и гарантирует, что они одинаково работают с разными технологиями воспроизведения («технологиями»). Все более продвинутые функции создаются в виде плагинов, включая списки воспроизведения, аналитику, рекламу и поддержку расширенных форматов, таких как HLS и DASH. Посетите страницу плагинов, чтобы узнать, что доступно.
Плагины Video.js
Что такое сценарий 6si.min.js, загружаемый из JS тегов?
Вопрос
Что такое 6si.Скрипт min.js загружается из JS с тегами?
Ответ
6si.min, js — это 6Sense JavaScript, который был реализован в начале 2016 года для сбора информации для построения прогнозной модели. Юридический отдел IBM одобрил с точки зрения конфиденциальности. Цель кода — фиксировать анонимную (на уровне IP) исследовательскую деятельность (посещения веб-сайтов) по различным страницам с информацией о продуктах и информационным материалам во вселенной IBM.Тег JavaScript на сайтах IBM необходим для использования в качестве входного сигнала данных для моделей прогнозной аналитики 6sense, учетные записи которых активно исследуют продукты IBM. Этот код не предоставляет данные о клиентах стороннему поставщику; используется для моделирования 6Sense и отправляется обратно в IBM в виде прогнозных оценок. Он не фиксирует и не передает, если веб-взаимодействия от текущих клиентов или какие-либо PII, с какой-либо третьей стороной.
?
[{«Business Unit»: {«code»: «BU051», «label»: «N \ / A»}, «Product»: {«code»: «SUPPORT», «label»: «IBM Worldwide Support») }, «Компонент»: «», «Платформа»: [{«код»: «PF025», «ярлык»: «Независимость от платформы»}], «Версия»: «Все версии», «Издание»: «», «Направление деятельности»: {«code»: «», «label»: «»}}]
Установка | SDK для редактора изображений JavaScript
Это архивная документация для Doka Image Editor v6.
Посетите pqina.nl/doka/docs/, чтобы просмотреть документацию по последней версии Doka Image Editor.
Doka представлен как модуль, завернутый в UMD, или как модуль ES.
Необходимые файлы доступны в загружаемом пакете из магазина.
Использование Doka на глобальном прицеле
Чтобы представить Doka в глобальной области видимости, мы добавляем файл doka.min.js
, используя тег
Используйте с RequireJS или другими загрузчиками AMD
Мы добавляем таблицу стилей Doka в
документа.
Мы можем использовать модуль doka UMD doka.min.js
как зависимость в RequireJS.
define (['./ doka.min'], function (Doka) {
});
Использование с ES6
Мы можем импортировать
модуль Doka Image Editor из doka.esm.min.js
файл. Если вы используете Webpack, вы также можете импортировать стили.
import * as Doka from './doka.esm.min';
import './doka.min.css';
Использование с TypeScript
Пакет поставляется с файлом определений TypeScript, включите doka.d.ts
в свой проект, и вы можете использовать Doka с TypeScript.
Условная компиляция
При использовании файлов doka.mjs
и doka.scss
мы можем оптимизировать вывод компилятора, задав операторы условной компиляции.Это может удалить до 30% исходного кода, что приведет к значительному уменьшению размера выходных файлов.
Заявление | По умолчанию | Описание |
---|---|---|
_EXCLUDE_CROP_UTIL | ложный | Установите значение true, если вы не используете утилиту урожая |
_EXCLUDE_FILTER_UTIL | ложный | Установите значение true, если вы не используете утилиту фильтра |
_EXCLUDE_COLOR_UTIL | ложный | Установите значение true, если вы не используете цветовую утилиту |
_EXCLUDE_RESIZE_UTIL | ложный | Установите значение true, если вы не используете утилиту изменения размера |
_EXCLUDE_MARKUP_UTIL | ложный | Установите значение true, если вы не используете утилиту разметки |
_EXCLUDE_TRANSFORM_IMAGE | ложный | Удаляет логику, которая используется для создания выходного файла.Полезно при объединении Doka с FilePond, поскольку FilePond позаботится о создании выходного файла. |
Условная компиляция может выполняться с помощью JSCC или других библиотек узлов. См. Пример ниже для рабочего примера JSCC.
const fs = require ('fs');
const jscc = require ('jscc');
const files = ['doka.src.scss', 'doka.src.mjs'];
const config = {
_EXCLUDE_CROP_UTIL: ложь,
_EXCLUDE_FILTER_UTIL: верно,
_EXCLUDE_COLOR_UTIL: верно,
_EXCLUDE_RESIZE_UTIL: верно,
_EXCLUDE_MARKUP_UTIL: верно,
_EXCLUDE_TRANSFORM_IMAGE: верно,
};
файлы.forEach ((файл) => {
const input = fs.readFileSync (`$ {file}`, {кодировка: 'utf-8'});
const output = jscc (input, '', {sourceMap: false, values: config});
fs.writeFileSync (`cc. $ {file}`, output.code, 'utf8');
});
Создайте файл cc.js в папке пакета Doka src
и скопируйте указанный выше код в файл. Запустите узел cc
в папке src
, чтобы сгенерировать новые файлы библиотек «cc.