贡献
使用我们的文档构建脚本和测试帮助开发Bootstrap。
工具设置
Bootstrap 使用 npm scripts来构建文档和编译源文件。我们的 package.json 包含这些脚本,用于编译代码、运行测试等。这些不适用于我们的存储库和文档之外。
要使用我们的构建系统并在本地运行我们的文档,您需要 Bootstrap 的源文件和 Node 的副本。请按照以下步骤操作,您应该准备好摇滚:
- 下载并安装 Node.js,我们用它来管理我们的依赖项。
- 要么 下载 Bootstrap源码 ,要么fork 和 克隆 Bootstrap’s repository.
- 导航到根
/bootstrap
目录并运行npm install
来安装 package.json中列出的本地依赖项。
完成后,您将能够运行从命令行提供的各种命令。
使用 npm 脚本
我们的 package.json 包括许多用于开发项目的任务。运行 npm run
以查看终端中的所有 npm 脚本。主要任务包括:
Task | Description |
---|---|
npm start |
Compiles CSS and JavaScript, builds the documentation, and starts a local server. |
npm run dist |
Creates the dist/ directory with compiled files. Uses Sass, Autoprefixer, and terser. |
npm test |
Runs tests locally after running npm run dist |
npm run docs-serve |
Builds and runs the documentation locally. |
Sass
Bootstrap 使用 Dart Sass 将我们的 Sass 源文件编译为 CSS 文件(包含在我们的构建过程中),如果您使用自己的资产管线编译 Sass,我们建议您也这样做。我们之前在 Bootstrap v4 中使用了 Node Sass,但 LibSass 和基于它构建的软件包,包括 Node Sass,现在已经 弃用.
Dart Sass 使用舍入精度 10,出于效率原因不允许调整此值。我们不会在进一步处理生成的 CSS 期间(例如在缩小期间)降低此精度,但如果您选择这样做,我们建议您保持至少 6 的精度,以防止浏览器舍入出现问题。
自动前缀(Autoprefixer)
Bootstrap 使用 Autoprefixer (包含在我们的构建过程中)在构建时自动将 vendor 前缀添加到某些 CSS 属性。这样做可以节省我们的时间和代码,允许我们一次编写 CSS 的关键部分,同时消除对供应商混合的需求,如 v3 中的那些。
我们将通过自动前缀器支持的浏览器列表保存在 GitHub 存储库中的单独文件中。有关详细信息,请参阅 .browserslistrc 了解详细信息。
RTLCSS
Bootstrap 使用 RTLCSS 来处理编译的CSS并将它们转换为RTL - 基本上用相反的替换水平方向感知属性(例如 padding-left
)。它允许我们只编写一次 CSS,并使用 RTLCSS control 和 value指令进行细微调整。
本地文档
在本地运行我们的文档需要使用 Hugo,它通过 hugo-bin npm 包安装。Hugo 是一个速度极快且可扩展的静态站点生成器,它为我们提供了:基本包含、基于 Markdown 的文件、模板等。以下是入门方法:
- Run through the tooling setup above to install all dependencies.
- From the root
/bootstrap
directory, runnpm run docs-serve
in the command line. - Open
http://localhost:9001/
in your browser, and voilà.
要了解有关使用 Hugo 的更多信息,请阅读其 文档.
故障 排除
如果在安装依赖项时遇到问题,请卸载所有以前的依赖项版本(全局和本地)。然后,重新运行 npm install
.