关于SO已经有类似的问题,但没有足够明确的回答来理解以下问题 .
我的目标是使用Bower使用Bootstrap设置Rails 5 .
使用Bower我在文件夹中安装了Bootstrap:
vendor/assets/bower_components/bootstrap-sass
然后,我更新了 initializers/assets :
Rails.application.config.assets.paths << Rails.root.join('vendor', 'assets', 'bower_components')
然后我将 gem 'sass-rails' 添加到 Gemfile 并更新 application.js :
//= require jquery
//= require bootstrap-sass/assets/javascripts/bootstrap
//= require jquery_ujs
//= require turbolinks
//= require_tree .
JS的资产似乎运行良好:如果我加载 http://localhost:3000/assets/application.js 我可以看到Bootstrap JS部分已添加到那里 .
问题是关于Sass(SCSS):我在application.css.scss中添加了 bootstrap-sass/assets/stylesheets/bootstrap 但没有成功:
/*
*= require_tree .
*= require_self
@import "bootstrap-sass/assets/stylesheets/bootstrap";
*/
事实上,如果我加载http://localhost:3000/assets/application.css我看到:
/*
@import "bootstrap-sass/assets/stylesheets/bootstrap";
*/
(@import上指定的文件夹包含许多_ * .scss文件和一个mixins文件夹)
问题是:
-
你有什么想法,为什么这不起作用?
-
我不应该在 assets/application.css 上看到所有预编译的CSS吗?
PS:非常感谢任何理解这个问题的资源 .
2 回答
移动导入,所以它在
/* .. */
之外[删除误导性的使用指令而不是导入,因为我错了 . ]
除了接受的答案之外,如果你查看
bootstrap-sass/assets/stylesheets
目录,你会注意到没有文件bootstrap.scss
而是一个前缀为下划线的文件 .此外,通常最好只从
bootstrap-sass/assets/stylesheets/bootstrap/
目录而不是主_bootstrap.scss
文件导入实际需要的模块 .