优化
保持项目的精简,响应和可维护性,以便获得最佳的体验,并专注于更重要的工作。
引用 Sass
你在引用Sass时,请确保只通过 @import
来优化Bootstrap。你最大的优化可能来自于 bootstrap.scss
的
Layout & Components
部分。
// Configuration
@import "functions";
@import "variables";
@import "mixins";
@import "utilities";
// Layout & components
@import "root";
@import "reboot";
@import "type";
@import "images";
@import "containers";
@import "grid";
@import "tables";
@import "forms";
@import "buttons";
@import "transitions";
@import "dropdown";
@import "button-group";
@import "nav";
@import "navbar";
@import "card";
@import "accordion";
@import "breadcrumb";
@import "pagination";
@import "badge";
@import "alert";
@import "progress";
@import "list-group";
@import "close";
@import "toasts";
@import "modal";
@import "tooltip";
@import "popover";
@import "carousel";
@import "spinners";
// Helpers
@import "helpers";
// Utilities
@import "utilities/api";
如果有你不需要的组件,你最好将其注释掉或完全删除。 例如,如果你不使用carousel,请删除该导入,以在编译后的CSS中保存一些文件大小。 另外,Sass导入之间存在一些依赖关系,这可能会使省略文件更加困难。
引用 JavaScript
Bootstrap的JavaScript包含我们主要dist文件(bootstrap.js
和
bootstrap.min.js
)中的每个组件,甚至包括主要的依赖项(Popper)以及捆绑文件(bootstrap.bundle.js
和
bootstrap.bundle.min.js
)。 通过Sass进行自定义时,请确保删除相关的JavaScript。
例如,假设你正在使用自己的JavaScript捆绑程序(如Webpack或Rollup),则只需要导入你打算使用的JavaScript。 在下面的示例中,显示了如何仅包含模式JavaScript:
// Import just what we need
// import 'bootstrap/js/dist/alert';
// import 'bootstrap/js/dist/button';
// import 'bootstrap/js/dist/carousel';
// import 'bootstrap/js/dist/collapse';
// import 'bootstrap/js/dist/dropdown';
import 'bootstrap/js/dist/modal';
// import 'bootstrap/js/dist/popover';
// import 'bootstrap/js/dist/scrollspy';
// import 'bootstrap/js/dist/tab';
// import 'bootstrap/js/dist/toast';
// import 'bootstrap/js/dist/tooltip';
这样,你就不会包含不使用的按钮,轮播和工具提示等组件的任何JavaScript。 如果要导入下拉菜单,工具提示或弹出窗口,请确保在 package.json
文件中列出Popper依赖项。
默认导出
bootstrap/js/dist
中的文件使用默认导出,因此如果要使用其中一个文件,则必须执行以下操作:
import Modal from 'bootstrap/js/dist/modal'
const modal = new Modal(document.getElementById('myModal'))
自动前缀.browserslistrc
Bootstrap依赖于Autoprefixer自动将浏览器前缀添加到某些CSS属性。 前缀由 .browserslistrc
决定,该文件位于Bootstrap存储库的根目录中。
如果存在该浏览器或版本唯一的供应商前缀,则自定义此浏览器列表并重新编译Sass将自动从已编译的CSS中删除一些CSS。
未使用的 CSS
本节需要帮助,请考虑打开PR。 谢谢!
虽然没有预先构建的示例来使用 PurgeCSS 和Bootstrap,但Bootstrap社区已经编写了一些有用的文章和演示。以下是一些选项:
- https://medium.com/dwarves-foundation/remove-unused-css-styles-from-bootstrap-using-purgecss-88395a2c5772
- https://lukelowrey.com/automatically-removeunused-css-from-bootstrap-or-other-frameworks/
最后,这篇关于 关于未使用CSS的CSS技巧文章 展示了如何使用PurgeCSS和其他类似工具。
缩小和压缩
只要有可能,你一定要压缩为访问者提供的所有代码。如果你使用的是Bootstrap dist文件,可以使用压缩后的版本(由指示) .min.css
还有 .min.js
扩展)。如果你的系统是从你自己的源码来构建的,那么你一定要用你自己的CSS来构建。
无障碍文件
本节需要帮助,请考虑打开PR。 谢谢!
始终使用https
本节需要帮助,请考虑打开PR。 谢谢!