这个问题类似这个问题:How to use bootstrap-theme.css with bootstrap 3?但不是重复的。我在 .less 级别与 Bootstrap 进行交互,并在每次进行更改时重新编译它。
正如我所说,我正在使用 less
开发一个 Bootstrap 主题。我在这里编辑位,在那里改变变量。切掉未使用的组件。将我的大部分新 CSS 放入 /less/theme.less
。最后,我留下了两个 css 文件:/dist/css/bootstrap.css
和 /dist/css/bootstrap-theme
(哦,好吧,是的......和他们的 .min.css
对应物,你这个迂腐的人知道一切)
将此输出拆分为两个单独的文件有什么意义?它们都偏离了“stock”设置(只需更改 less/variables.less
即可这样做)那么这不是重复工作吗?这难道不是我们(自认为最了解的开发人员)不断告诉初级人员应该不惜一切代价避免的额外要求吗?
在开发自定义 Bootstrap 主题时,这些是我的选择:
- 放弃包含的
theme.less
并将我的更改包含在主要的 Bootstrap 构建中, - 在我的
theme.less
中不改变核心 Bootstrap 构建中的任何内容, - 继续我正在做的事情,修改并使用两个 CSS 文件。
我应该做什么以及为什么?
在相关说明中,如果单击“下载 Bootstrap”,我不应该从你获得的文件构建 Bootstrap 吗?事后看来,这些似乎是为了构建 Bootstrap 文档(我只是抛弃了其中大量的 Jekyll 废话)。是否有一个“干净”版本的 Bootstrap 适合那些想要在没有文档的情况下自定义 Bootstrap 的人?
最佳答案
我对此发起了一个错误并得到了 this response :
We're not separating the docs into another repo because it makes it much more painful/difficult to keep them up-to-date with changes to the code.
IMO 非常可悲,但这不是我要管理的元素。问了一个小时后,我结合了前两个选项。我将以下内容添加到 bootstrap.less
的最后一行:
@import "theme.less";
要在现实中实现这一点,需要进行一些更改:
- 清理 Gruntfile 以停止构建单独的主题
- 从 theme.less 文件的顶部删除 Bootstrap 导入(如果不这样做会导致循环)
但输出如愿。一个胖的 bootstrap.css
文件和一个稍微瘦一点的 bootstrap.min.css
文件。
我仍然不认为破解整个构建过程是使用 Bootstrap 作为入门主题的一种非常可持续的方法。对更好的解决方案持开放态度。
在另一个元素中,我放弃了最终的导入,我只是在 bootstrap.less
中完成我的所有工作。当然,顶部有 50 行是大量样板导入,但这意味着我不会在文件之间跳来跳去。我一直都知道包含的内容。
我还删除了 grunt 并使用了我自己的结构解决方案,该解决方案已在我现有的工作流程中使用。与以往一样,您的里程可能会有所不同。你不是我。
关于css - 为什么 Bootstrap 包含一个 bootstrap-theme 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19859449/