Вклад
Помогите разработать Bootstrap с помощью наших сценариев сборки документации и тестов.
Настройка инструмента
Bootstrap использует сценарии npm для создания документации и компиляции исходных файлов. Наш package.json содержит эти сценарии для компиляции кода, запуска тестов и многого другого. Они не предназначены для использования за пределами нашего репозитория и документации.
Чтобы использовать нашу систему сборки и запускать нашу документацию локально, Вам понадобится копия исходных файлов Bootstrap и Node. Выполните следующие шаги, и Вы должны быть готовы к игре:
- Загрузите и установите Node.js, который мы используем для управления нашими зависимостями.
- Либо загрузите исходные коды Bootstrap, либо сделайте “форк” и клонируйте репозиторий Bootstrap.
- Перейдите в корневой каталог
/bootstrap
и запуститеnpm install
, чтобы установить наши локальные зависимости, перечисленные в package.json.
По завершении Вы сможете запускать различные команды из командной строки.
Использование скриптов npm
Наш package.json включает множество задач для разработки проекта. Запустите npm run
, чтобы увидеть все сценарии npm в Вашем терминале. Основные задачи включают:
Задача | Описание |
---|---|
npm start |
Компилирует CSS и JavaScript, создает документацию и запускает локальный сервер. |
npm run dist |
Создает каталог dist/ с скомпилированными файлами. Использует Sass, Autoprefixer и terser. |
npm test |
Запускает тесты локально после запуска npm run dist . |
npm run docs-serve |
Создает и запускает документацию локально. |
Sass
Bootstrap использует Dart Sass для компиляции наших исходных файлов Sass в файлы CSS (включенные в наш процесс сборки), и мы рекомендуем Вам сделать то же самое, если Вы компилируете Sass с использованием собственного конвейера активов. Ранее мы использовали Node Sass для Bootstrap v4, но LibSass и пакеты, созданные на его основе, включая Node Sass, теперь устарели.
Dart Sass использует точность округления 10 и из соображений эффективности не позволяет изменять это значение. Мы не снижаем эту точность во время дальнейшей обработки нашего сгенерированного CSS, например, во время минификации, но если Вы решите это сделать, мы рекомендуем поддерживать точность не менее 6, чтобы предотвратить проблемы с округлением в браузере.
Автопрефиксер
Bootstrap использует Autoprefixer (включенный в наш процесс сборки) для автоматического добавления префиксов поставщиков к некоторым свойствам CSS во время сборки. Это экономит время и код, позволяя писать ключевые части нашего CSS за один раз, устраняя при этом необходимость в миксинах от поставщиков, подобных тем, что есть в v3.
Мы храним список браузеров, поддерживаемых с помощью Autoprefixer, в отдельном файле в нашем репозитории GitHub. См. .browserslistrc для получения дополнительной информации.
RTLCSS
Bootstrap использует RTLCSS для обработки скомпилированного CSS и преобразования их в RTL - в основном заменяя свойства, учитывающие горизонтальное направление (например, padding-left
), их противоположностью. Это позволяет нам писать наш CSS только один раз и вносить незначительные изменения с помощью RTLCSS директив control и value.
Локальная документация
Для локального запуска нашей документации требуется использование Hugo, который устанавливается через пакет npm hugo-bin. Hugo - это невероятно быстрый и достаточно расширяемый генератор статических сайтов, который предоставляет нам: базовые включения, файлы на основе Markdown, шаблоны и многое другое. Вот как это начать:
- Выполните настройку инструментов выше, чтобы установить все зависимости.
- Из корневого каталога
/bootstrap
, запуститеnpm run docs-serve
в командной строке. - Откройте
http://localhost:9001/
в вашем браузере и вуаля.
Узнайте больше об использовании Hugo, прочитав его документацию.
Исправление проблем
Если у Вас возникнут проблемы с установкой зависимостей, удалите все предыдущие версии зависимостей (глобальные и локальные). Затем перезапустите npm install
.