Bootstrap и Parcel
Официальное руководство о том, как включить CSS и JavaScript Bootstrap в свой проект с помощью 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 и запустить наш проект локально. Parcel сам по себе не требует файла конфигурации, но нам нужен скрипт npm и файл HTML для запуска нашего сервера.
Заполните файл
src/index.html. Parcel нужна страница для рендеринга, поэтому мы используем нашу страницуindex.html, чтобы настроить базовый HTML, включая наши файлы CSS и JavaScript.<!doctype html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1"><title>Bootstrap w/ Parcel</title><linkrel="stylesheet"href="scss/styles.scss"><scripttype="module"src="js/main.js"></script></head><body><divclass="container py-4 px-3 mx-auto"><h1>Hello, Bootstrap and Parcel!</h1><buttonclass="btn btn-primary">Primary button</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
Для импорта Bootstrap в Parcel требуется два импорта: один в наш styles.scss и один в наш main.js.
Импортируйте Bootstrap CSS. Добавьте следующее в
src/scss/styles.scss, чтобы импортировать весь исходный код Bootstrap Sass.// Импортировать весь Bootstrap CSS @import"bootstrap/scss/bootstrap";Вы также можете импортировать наши таблицы стилей по отдельности, если хотите. Прочитайте нашу документацию по импорту Sass для подробностей.
Импортируйте Bootstrap JS. Добавьте следующее в
src/js/main.js, чтобы импортировать все JS Bootstrap. Popper будет автоматически импортирован через Bootstrap.// Импортировать весь Bootstrap JS import*asbootstrapfrom'bootstrap'Вы также можете импортировать плагины JavaScript по отдельности, если это необходимо, чтобы уменьшить размеры пакетов:
importAlertfrom'bootstrap/js/dist/alert'// или укажите, какие плагины вам нужны: import{Tooltip,Toast,Popover}from'bootstrap'Прочитайте нашу документацию по JavaScript для получения дополнительной информации о том, как использовать плагины Bootstrap.
И готово! 🎉 С полностью загруженным исходным кодом Bootstrap Sass и JS ваш локальный сервер разработки теперь должен выглядеть так.

Теперь вы можете начать добавлять любые компоненты Bootstrap, которые хотите использовать. Обязательно ознакомьтесь с полным примером проекта Parcel, чтобы узнать, как включить дополнительный пользовательский Sass и оптимизировать сборку, импортируя только части CSS и JS Bootstrap, которые вам нужны.
Видите здесь что-то неправильное или устаревшее? Пожалуйста, откройте вопрос на GitHub. Нужна помощь в устранении неполадок? Выполните поиск или начните обсуждение на GitHub.