Bootstrap и Parcel
Официальное руководство по включению и объединению CSS и JavaScript Bootstrap в ваш проект с помощью Parcel.

Хотите перейти к концу? Загрузите исходный код и рабочую демонстрацию для этого руководства из репозитория twbs / examples. Вы также можете открыть пример в StackBlitz, но не запускать его, потому что Parcel в настоящее время там не поддерживается.
Настройка
Мы создаем проект Parcel с Bootstrap с нуля, поэтому есть некоторые предварительные условия и предварительные шаги, прежде чем мы сможем действительно приступить к работе. Это руководство требует от вас наличия Node.js установленного терминала и некоторого знакомства с ним.
-
Создайте папку проекта и настройте npm. Мы создадим
my-projectпапку и инициализируем npm с помощью-yаргумента, чтобы он не задавал нам все интерактивные вопросы.mkdir my-project && cd my-project npm init -y -
Установите Parcel. В отличие от нашего руководства по Webpack, здесь есть только одна зависимость от инструмента сборки. Parcel автоматически установит языковые преобразователи (например, Sass) по мере их обнаружения. Мы используем
--save-dev, чтобы сигнализировать, что эта зависимость предназначена только для разработки, а не для производства.npm i --save-dev parcel -
Установите Bootstrap. Теперь мы можем установить Bootstrap. Мы также установим Popper, поскольку от него зависит расположение наших выпадающих списков, всплывающих окон и всплывающих подсказок. Если вы не планируете использовать эти компоненты, вы можете опустить Popper здесь.
npm i --save bootstrap @popperjs/core
Теперь, когда у нас установлены все необходимые зависимости, мы можем приступить к работе по созданию файлов проекта и импорту Bootstrap.
Структура проекта
Мы уже создали my-project папку и инициализировали npm. Теперь мы также создадим нашу src папку, таблицу стилей и файл JavaScript, чтобы завершить структуру проекта. Выполните следующее из my-project или вручную создайте структуру папок и файлов, показанную ниже.
mkdir {src,src/js,src/scss}
touch src/index.html src/js/main.js src/scss/styles.scss
Когда вы закончите, весь ваш проект должен выглядеть следующим образом:
my-project/
├── src/
│ ├── js/
│ │ └── main.js
│ ├── scss/
│ │ └── styles.scss
│ └── index.html
├── package-lock.json
└── package.json
На данный момент все находится в нужном месте, но Parcel нужна HTML-страница и npm-скрипт для запуска нашего сервера.
Настройка посылки
Теперь, когда зависимости установлены и папка нашего проекта готова для начала программирования, мы можем настроить Parcel и запустить наш проект локально. Сама Parcel по своей конструкции не требует файла конфигурации, но нам нужен npm-скрипт и HTML-файл для запуска нашего сервера.
-
Заполните
src/index.htmlфайл. Parcel нужна страница для рендеринга, поэтому мы используем нашуindex.htmlстраницу для настройки некоторых базовых HTML, включая файлы CSS и JavaScript.<!doctype html> <html lang="ru"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Bootstrap и Parcel</title> <link rel="stylesheet" href="scss/styles.scss"> <script type="module" src="js/main.js"></script> </head> <body> <div class="container py-4 px-3 mx-auto"> <h1>Привет, Bootstrap и Parcel!</h1> <button class="btn btn-primary">Синяя кнопка</button> </div> </body> </html>Мы включили сюда немного стиля Bootstrap с помощью
div class="container"и<button>, чтобы видеть, когда CSS Bootstrap загружается Parcel.Parcel автоматически обнаружит, что мы используем Sass, и установит плагин Sass Parcel для его поддержки. Однако, при желании, вы также можете запустить его вручную
npm i --save-dev @parcel/transformer-sass. -
Добавьте скрипты npm Parcel. Откройте
package.jsonи добавьте следующийstartскрипт кscriptsобъекту. Мы будем использовать этот скрипт для запуска нашего сервера разработки Parcel и отображения созданного нами HTML-файла после его компиляции вdistкаталог.{ // ... "scripts": { "start": "parcel serve src/index.html --public-url / --dist-dir dist", "test": "echo \"Error: no test specified\" && exit 1" }, // ... } -
И, наконец, мы можем запустить Parcel. Из
my-projectпапки в вашем терминале запустите этот недавно добавленный скрипт npm:npm start
В следующем и последнем разделе этого руководства мы импортируем все CSS и JavaScript Bootstrap.
Импорт начальной загрузки
Для импорта Bootstrap в Parcel требуется два импорта: один в our styles.scss и один в our main.js.
-
Импортируйте CSS Bootstrap. Добавьте следующее в
src/scss/styles.scss, чтобы импортировать весь исходный код Sass Bootstrap.// Импортируйте весь CSS Bootstrap. @import "bootstrap/scss/bootstrap";При желании вы также можете импортировать наши таблицы стилей по отдельности. Прочитайте документы по импорту Sass для получения подробной информации.
-
Импортируйте JS Bootstrap. Добавьте следующее в
src/js/main.js, чтобы импортировать все JS Bootstrap. Popper будет автоматически импортирован через Bootstrap.// Импортируйте весь JS Bootstrap. import * as bootstrap from 'bootstrap'Вы также можете импортировать плагины JavaScript по отдельности по мере необходимости, чтобы уменьшить размеры пакетов:
import Alert from 'bootstrap/js/dist/alert' // или укажите, какие плагины вам нужны: import { Tooltip, Toast, Popover } from 'bootstrap'Прочитайте наши документы по JavaScript для получения дополнительной информации об использовании плагинов Bootstrap.
-
И готово! ? После полной загрузки исходных текстов Bootstrap Sass и JS ваш локальный сервер разработки теперь должен выглядеть следующим образом.
Теперь вы можете начать добавлять любые компоненты Bootstrap, которые вы хотите использовать. Обязательно ознакомьтесь с полным примером проекта Parcel, чтобы узнать, как включить дополнительный пользовательский Sass и оптимизировать сборку, импортируя только те части Bootstrap CSS и JS, которые вам нужны.
Видите здесь что-то неправильное или устаревшее? Пожалуйста, откройте проблему на GitHub. Нужна помощь в устранении неполадок? Найдите или начните обсуждение на GitHub.