Узнайте, как включить Bootstrap в свой проект с помощью Webpack.

Установка

Установка Bootstrap как модуль Node.js с использованием npm.

Импорт JavaScript

Импортируйте Bootstrap JavaScript, добавив эту строку в точку входа Вашего приложения (обычно index.js или app.js):

import'bootstrap';

Или можете импортировать плагины по отдельности по мере необходимости:

import'bootstrap/js/dist/util';import'bootstrap/js/dist/alert';...

Bootstrap зависит от jQuery и Popper, которые указаны в свойстве peerDependencies; это означает, что Вам нужно будет обязательно добавить их оба в Ваш package.json, используя npm install --save jquery popper.js.

Импорт стилей

Импорт предварительно скомпилированного Sass

Для полного функционала и возможности настройки Bootstrap используйте исходные файлы при «сборке» вашего проекта.

Сперва создайте файл _custom.scss и переопределите значения встроенных переменных. Затем используйте свой основной файл sass для импорта пользовательских переменных, за которым следует Bootstrap:

@import"custom";@import"~bootstrap/scss/bootstrap";

Для компиляции удостоверьтесь, что установлены все требуемые загрузчики: sass-loader, postcss-loader с Autoprefixer. С минимальными настройками, ваша конфигурация вебпака должна включать подобное правило:

...{test:/\.(scss)$/,use:[{loader:'style-loader',// вставить CSS на страницу
},{loader:'css-loader',// переводит CSS в модули CommonJS
},{loader:'postcss-loader',// Выполнить действия postcss
options:{plugins:function(){// плагины postcss, можно экспортировать в postcss.config.js
return[require('autoprefixer')];}}},{loader:'sass-loader'// компилирует Sass в CSS
}]},...

Импорт скомпилированного CSS

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

import'bootstrap/dist/css/bootstrap.min.css';

В этом случае Вы можете использовать существующее правило для css без каких-либо специальных изменений в конфигурации webpack, за исключением того, что Вам не нужен sass-loader только style-loader и css-loader.

...module:{rules:[{test:/\.css$/,use:['style-loader','css-loader']}]}...