Bootstrap CSS 使用 bootstrap-sass 加载,其他 CSS 不会加载

2024-01-18

我正在将 Bootstrap 用于我的 Rails 应用程序和 bootstrap-sass v. 3.1.1,它在我的 application.css.scss 文件中的以下内容中运行得很好:

@import "bootstrap";

没有别的。就在今天,我尝试添加一些自己的 CSS 来添加一些 Bootstrap 无法提供的样式。这是我的欢迎视图/控制器,所以我只是将其添加到welcome.css.scss

.complete-class {
  text-decoration: line-through;
}

来自阅读Rails 指南的这一部分 http://guides.rubyonrails.org/asset_pipeline.html#manifest-files-and-directives我的理解是,您可以在清单中包含像welcome.css.scss这样的CSS文件,如下所示:

@import "bootstrap";

/*
*= require_self
*= require_tree .
*/

这并没有成功应用我的 CSS; welcome.css.scss 也没有出现在 head 标签中。

当我尝试调试这个时,我遇到了一些奇怪的事情,我觉得我也应该指出:

1.导入bootstrap出错

VIM 的 Syntastic 插件很有帮助地指出了一个错误:

File to import not found or unreadable: bootstrap. Load path: /home/stephen/code/blocitoff/app/assets/stylesheets

这很奇怪,因为

  • a)尽管我没有更改它引用的代码行(@import“bootstrap”),但这个错误之前没有出现过

and

  • b) bootstrap 仍然忠实地应用在我的页面布局中,并出现在 head 标签的资源中。

2.卸载bootstrap-sass

我搜索了上面的错误,发现这个问题 https://github.com/twbs/bootstrap-sass/issues/580这建议我卸载并重新安装 bootstrap-sass。尽管奇怪的是,即使我卸载了 gem,引导程序样式仍然保留在页面上,但这并不起作用。

Rails的版本是4.1.5

  1. 将所有 css 移至 application.css.scss

因为似乎 bootstrap 是从 application.css.scss 加载的,所以我在那里添加了我的 css,但这也不起作用。

  1. 浏览器上的隐身模式

最后我想,如果当我卸载 bootstrap-sass 时引导程序没有消失,那么它们可能被缓存在我的浏览器上?我认为这在开发中不会发生,但以防万一我在隐身模式下启动 chrome。还是没有变化。

除了弄清楚如何解决这个问题之外,我真的很想了解这里发生的事情——希望我能更好地了解 Rails 资产管道的工作原理。


尼古拉的回答很好,但似乎没有加载任何其他CSS文件。如果您包括该行require_tree .在您的 application.css 文件中,您将加载其他文件。

这里唯一的问题是 bootstrap 中的 scss mixins 可能无法正常工作,因为每个 scss 在混合在一起之前都会被编译为 css。 (看Railscast Sass 基础知识 http://railscasts.com/episodes/268-sass-basics)。如果您不想重用 bootstrap 中的任何 scss mixins,或者不知道我在说什么,您可以忽略这一点,只需将 require 树行添加到您的 application.css 文件中:

应用程序.css

/*
*= require shared/bootstrap-base
*= require_tree . #This line specifically is what will load the other .scss
*= require_self
*/

否则,您需要将 application.css 更改为 application.css.scss,然后使用 sass @import 命令导入:

应用程序.css.scss

/*
*= require_self
*/

 @import "bootstrap-sprockets";
 @import "bootstrap";
 @import "my_custom_css_file";
 @import "my_second_custom_css_file";
 #etc...

有关管道如何工作的更多基本信息,请查看资产管道上的 Railscast http://railscasts.com/episodes/279-understanding-the-asset-pipeline。有点过时但绝对仍然有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bootstrap CSS 使用 bootstrap-sass 加载,其他 CSS 不会加载 的相关文章