使用webpacker的bootstrap自定义变量文件

时间:2018-04-25 06:57:01

标签: ruby-on-rails twitter-bootstrap webpack webpacker

我正在尝试使用webpacker和bootstrap将我的自定义引导变量应用到rails应用程序。

rails new testapp --webpack cd testapp yarn add bootstrap

在我的app / javascript / packs文件夹中,我有

  • _custom.scss

  • 的application.js

  • vendor.scss

的application.js: import 'bootstrap'

vendor.scss: @import 'custom'; @import '~bootstrap/dist/css/bootstrap';

custom.scss $brand-success: red !default;

它在bootstrap指南中说你需要在你的webpack配置中配置一些css加载器,但它说默认情况下webpacker附带了这些。

Bootstrap工作正常,但不会使用我的自定义变量进行编译。有人得到了一个与webpacker合作的例子吗?

2 个答案:

答案 0 :(得分:1)

非常简单,你不是编译引导程序,因为你正在使用它已经编译的dist css。

更改为此内容并将为包编译

@import '~bootstrap/scss/bootstrap';

答案 1 :(得分:0)

引导程序3

Bootstrap 3使用较少的预处理器,因此您必须使用less-loader

如今,SASS的使用更为广泛,因此很可能您已经在Webpack配置中使用了sass-loader

最适合我的是使用Bootstrap 3的SASS版本。

  1. 第一步是删除引导程序包:
yarn remove bootstrap
  1. 现在安装bootstrap-sass软件包(它会附带bootstrap版本3.3.6):
yarn add bootstrap-sass
  1. 从您的SASS / SCSS文件中导入它:
// Include your variables here, before the import.

@import "~bootstrap-sass/assets/stylesheets/_bootstrap";

如果无法加载字形图标

我遇到的问题是,无法加载字形图标。幸运的是,引导程序使用$icon-font-path变量来定义从何处加载它。

我必须像这样重写它:

$icon-font-path: "../../fonts/bootstrap/" !default;

然后一切正常。