Skip to main content Skip to docs navigation

向 Bootstrap 贡献代码

了解如何使用 Bootstrap 的文档,构建脚本和测试等资源进行开发。

工具设置

Bootstrap 使用 npm 脚本 来构建文档和编译源代码文件。 我们的 package.json 包含用于编译源代码、运行测试等的这些脚本。

要使用我们的构建系统并在本地运行我们的文档,您需要一份 Bootstrap 源代码和安装好 Node.js 环境。 按照下面的步骤操作

  1. 下载并安装 Node.js,用来管理我们的依赖关系。
  2. 下载一份 Bootstrap 的源代码 或者 fork Bootstrap 的仓库.
  3. 导航到 /bootstrap 目录并运行 npm install 安装在 package.json 文件中列出的依赖。

使用 npm 脚本

我们的 package.json 包含许多用于开发项目的任务。 运行 npm run 以查看终端中的所有 npm 脚本。 主要任务包括:

任务 描述
npm start 编译 CSS 和 JavaScript, 构建文档, 并启动本地服务器。
npm run dist 创建 dist/ 文件夹,并编译源代码存放到此文件夹。 需要安装并使用 SassAutoprefixer, 和 terser
npm test 运行 npm run dist 后在本地运行测试。
npm run docs-serve 在本地构建和运行文档。
从入门项目开始使用 Bootstrap! 前往 twbs/bootstrap-npm-starter 模板仓库,了解如何在您自己的项目中构建和自定义 Bootstrap。 包括 Sass 编译器、Autoprefixer、Stylelint、PurgeCSS 和 Bootstrap 图标。

Sass

Bootstrap 使用 Dart Sass 将我们的 Sass 源代码文件编译成 CSS 样式文件(在我们的构建过程中)。 我们之前用 Node Sass 来编译 Bootstrap v4,但 LibSass 和基于它构建的包(包括 Node Sass),现在已弃用

Autoprefixer

Bootstrap 使用 Autoprefixer 在构建时自动将浏览器前缀添加到需要的 CSS 属性。 这样做可以让我们一次性编写 CSS 的所有浏览器前缀部分,同时消除对 v3 中的浏览器 mixin 的需求,从而节省了我们的时间和代码量。

我们在 GitHub 仓库的一个单独的文件中维护了 Autoprefixer 支持的浏览器列表。 详见.browserslistrc

RTLCSS

Bootstrap 使用 RTLCSS 处理编译后的 CSS 并将它们转换为 RTL - 基本上水平方向属性(例如。padding-left) 都替换为与他们相反的属性。 它允许我们只编写一次 CSS 并使用 RTLCSS controlvalue 指令做小的调整。

在本地运行文档

在本地运行我们的文档需要使用 Hugo,它通过 hugo-bin npm 包安装。 Hugo 是一个非常快速且可扩展的静态站点生成器,它为我们提供:包含功能(可以在一个文件中引用另一个文件的内容)、支持 Markdown 文件、模板等。 请查看以下使用步骤:

  1. 运行上面的 工具配置 以安装所有依赖项。
  2. /bootstrap 目录,在命令行中运行 npm run docs-serve
  3. 在浏览器中打开 http://localhost:9001/,然后就可以在本地查看文档了。

阅读 Hugo 文档,了解有关使用 Hugo 的更多信息。

故障排除

如果您在安装依赖项时遇到问题,请卸载所有以前的依赖项版本(全局和本地)。 然后,重新运行 npm install