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> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Bootstrap w/ 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>Hello, Bootstrap and Parcel!</h1> <button class="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 * 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 и оптимизировать сборку, импортируя только части CSS и JS Bootstrap, которые вам нужны.
Видите здесь что-то неправильное или устаревшее? Пожалуйста, откройте вопрос на GitHub. Нужна помощь в устранении неполадок? Выполните поиск или начните обсуждение на GitHub.