Bootstrap и Vite

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

Bootstrap и Vite

Хотите перейти к концу? Загрузите исходный код и рабочую демонстрацию для этого руководства из репозитория twbs / examples. Вы также можете открыть пример в StackBlitz для оперативного редактирования.

Настройка

Мы создаем проект Vite с Bootstrap с нуля, поэтому есть некоторые предварительные условия и предварительные шаги, прежде чем мы сможем по-настоящему приступить к работе. Это руководство требует от вас наличия Node.js установленного терминала и некоторого знакомства с ним.

  1. Создайте папку проекта и настройте npm. Мы создадим my-project папку и инициализируем npm с помощью -y аргумента, чтобы он не задавал нам все интерактивные вопросы.

    mkdir my-project && cd my-project
    npm init -y
  2. Установите Vite. В отличие от нашего руководства по Webpack, здесь есть только одна зависимость от инструмента сборки. Мы используем --save-dev, чтобы сигнализировать, что эта зависимость предназначена только для разработки, а не для производства.

    npm i --save-dev vite
  3. Установите Bootstrap. Теперь мы можем установить Bootstrap. Мы также установим Popper, поскольку расположение наших выпадающих списков, всплывающих окон и подсказок зависит от него. Если вы не планируете использовать эти компоненты, вы можете опустить Popper здесь.

    npm i --save bootstrap @popperjs/core
  4. Установите дополнительную зависимость. В дополнение к Vite и Bootstrap нам нужна еще одна зависимость (Sass) для правильного импорта и объединения CSS Bootstrap.

    npm i --save-dev sass

Теперь, когда у нас установлены и настроены все необходимые зависимости, мы можем приступить к работе по созданию файлов проекта и импорту 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 vite.config.js

Когда вы закончите, весь ваш проект должен выглядеть следующим образом:

my-project/
├── src/
│   ├── js/
│   │   └── main.js
│   └── scss/
│   |   └── styles.scss
|   └── index.html
├── package-lock.json
├── package.json
└── vite.config.js

На данный момент все находится в нужном месте, но Vite не будет работать, потому что мы еще не заполнили наш vite.config.js.

Настройка Vite

Теперь, когда зависимости установлены и папка нашего проекта готова для начала программирования, мы можем настроить Vite и запустить наш проект локально.

  1. Откройте vite.config.js в вашем редакторе. Поскольку он пустой, нам нужно добавить к нему некоторую шаблонную конфигурацию, чтобы мы могли запустить наш сервер. В этой части конфигурации Vite сообщает, где искать JavaScript нашего проекта и как должен вести себя сервер разработки (извлекается из src папки с горячей перезагрузкой).

    const path = require('path')
    
    export default {
      root: path.resolve(__dirname, 'src'),
      build: {
        outDir: '../dist'
      },
      server: {
        port: 8080
      }
    }
  2. Далее мы заполняемsrc/index.html. Это HTML-страница, которую Vite загрузит в браузер для использования встроенных CSS и JS, которые мы добавим к ней на последующих этапах.

    <!doctype html>
    <html lang="en">
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Bootstrap w/ Vite</title>
        <script type="module" src="./js/main.js"></script>
      </head>
      <body>
        <div class="container py-4 px-3 mx-auto">
          <h1>Hello, Bootstrap and Vite!</h1>
          <button class="btn btn-primary">Primary button</button>
        </div>
      </body>
    </html>

    Мы включили сюда немного стиля Bootstrap с помощью div class="container" и <button>, чтобы видеть, когда CSS Bootstrap загружается Vite.

  3. Теперь нам нужен npm-скрипт для запуска Vite. Откройте package.json и добавьте start скрипт, показанный ниже (тестовый скрипт у вас уже должен быть). Мы будем использовать этот скрипт для запуска нашего локального сервера разработки Vite.

    {
      // ...
      "scripts": {
        "start": "vite",
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      // ...
    }
  4. И, наконец, мы можем запустить Vite. Из my-project папки в вашем терминале запустите этот недавно добавленный скрипт npm:

    npm start
    Запущен сервер разработки Vite

В следующем и последнем разделе этого руководства мы импортируем все CSS и JavaScript Bootstrap.

Импорт Bootstrap

  1. Импортируйте CSS Bootstrap. Добавьте следующее в src/scss/styles.scss, чтобы импортировать весь исходный код Sass Bootstrap.

    // Импортируйте весь CSS Bootstrap.
    @import "bootstrap/scss/bootstrap";

    При желании вы также можете импортировать наши таблицы стилей по отдельности. Прочитайте наши документы по импорту Sass для получения подробной информации.

  2. Затем мы загружаем CSS и импортируем Bootstrap JavaScript. Добавьте следующее в src/js/main.js, чтобы загрузить CSS и импортировать все JS Bootstrap. Popper будет автоматически импортирован через Bootstrap.

    // Импортируем наш собственный CSS
    import '../scss/styles.scss'
    
    // Импортируем весь JS Bootstrap
    import * as bootstrap from 'bootstrap'

    Вы также можете импортировать плагины JavaScript по отдельности по мере необходимости, чтобы уменьшить размер пакета:

    import Alert from 'bootstrap/js/dist/alert';
    
    // или укажите, какие плагины вам нужны:
    import { Tooltip, Toast, Popover } from 'bootstrap';

    Прочитайте документацию по JavaScript для получения дополнительной информации об использовании плагинов Bootstrap.

  3. И готово! ? После полной загрузки исходных текстов Bootstrap Sass и JS ваш локальный сервер разработки теперь должен выглядеть следующим образом.

    Сервер разработки Vite, работающий с Bootstrap

    Теперь вы можете начать добавлять любые компоненты Bootstrap, которые вы хотите использовать. Обязательно ознакомьтесь с полным примером проекта Vite, чтобы узнать, как включить дополнительный пользовательский Sass и оптимизировать сборку, импортируя только те части Bootstrap CSS и JS, которые вам нужны.


Видите здесь что-то неправильное или устаревшее? Пожалуйста, откройте проблему на GitHub. Нужна помощь в устранении неполадок? Найдите или начните обсуждение на GitHub.