我想缩小引导文件bootstrap.min.css
的大小。我发现一个很好的方法是先使用SASS,然后使用SCSS,这样我就可以只导入我需要的特定组件。我从来没有使用过,只使用过CSS。我使用的是最新版本的Bootstrap,我正在Bootstrap中下载Sass [源文件][1]。
当我尝试将scss文件转换为css时,我得到一个错误。我已经读过几个关于stackoverflow的解决方案(例如import @import "../scss/bootstrap/maps";
),但它们对我没有帮助。以下是错误:
Error: Undefined variable.
╷
21 │ @each $color, $value in $theme-colors-rgb {
│ ^^^^^^^^^^^^^^^^^
╵
scss/bootstrap/_root.scss 21:27 @import
scss/custom.scss 16:9 root stylesheet
字符串
路径为Desktop/myproject/scss/bootstrap
。以下是我执行的步骤:
1.在项目中,我添加了scss文件夹。在里面,我创建了一个名为bootstrap的文件夹,所有的ssc文件都存在其中。所以myproject/scss/bootstrap
(从上面的链接下载)。
1.在项目中,我添加了一个名为custom. scss的文件。所以myproject/scss/custom.scss
3.在custom.scss
文件中(我在自定义中只有这个,然后文件中没有任何东西),我添加了我需要的组件的名称:
@import "../scss/bootstrap/functions";
@import "../scss/bootstrap/variables";
@import "../scss/bootstrap/mixins";
@import "../scss/bootstrap/root";
@import "../scss/bootstrap/reboot";
@import "../scss/bootstrap/type";
@import "../scss/bootstrap/images";
@import "../scss/bootstrap/containers";
@import "../scss/bootstrap/grid";
@import "../scss/bootstrap/offcanvas";
@import "../scss/bootstrap/navbar";
@import "../scss/bootstrap/card";
@import "../scss/bootstrap/dropdown";
@import "../scss/bootstrap/list-group";
@import "../scss/bootstrap/nav";
型
1.我尝试将custom.scss
文件转换为bootstrap.min-news.css
,然后在Visual Studio终端中编写:sass scss/custom.scss:css/bootstrap.min-new.css
我怎样才能转换文件而不会得到错误?谢谢你的好意
P.S:如果我也尝试导入@import "../scss/bootstrap/maps";
,我会得到错误:
Error: Undefined variable.
╷
55 │ "primary": $primary-text-emphasis-dark,
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
型
更新
相反,如果我导入@import "../scss/bootstrap/variables-dark"
,问题就解决了,编译也正确地进行了,但是我不想使用variables-dark,我不需要它,文件大小不必要地增加了。我的目标是缩小
1条答案
按热度按时间9gm1akwq1#
好了,我测试了这个非常基本的
bootstrap 5.2.3
npm安装编译scss。摘自5.2文档,参见文档版本中的注解版本……
https://getbootstrap.com/docs/5.2/customize/sass/#importing
这个scss导入命令对我来说编译得很好……
字符串
但是,如果我在
bootstrap 5.3.0
中运行上面相同的scss,我会得到这个错误...型
所以我检查了5.3的文档,并且添加了变量dark scss...
https://getbootstrap.com/docs/5.3/customize/sass/#importing
型
编译上面的scss现在可以运行了。
更新1
所以上面提供的代码是引导css框架工作的最低限度。
然后,您开始在实用程序之后添加额外的组件,如下所示...
型
上面的代码以180 kib编译css。
如果你还在为编译后的大小太大而挣扎,你可以从
$theme-color
贴图中移除颜色。型
这是167 kib。
但你可能不想删除每一种颜色,尤其是阴影,例如,你可能只是做的颜色…
型
希望这对你有帮助。
更新2
例如,如果你使用
@import "bootstrap/scss/alerts";
,这将在你编译的css中创建这些类。型
通过使用
map-remove
这样...型
这将只编译这些警报颜色...
型
这将对使用
$theme-colors
贴图生成组件颜色变体的任何内容执行相同的操作。如果你没有使用颜色,你可以从
$theme-colors
贴图中删除,这将减少你的css的大小,并稍微加快编译速度。