Webpack

Webpack 3 を使ってどのように Bootstrap をインストールするか学びましょう。

Bootstrap インストール

npm を使って Node.js モジュールとして bootstrap をインストールします

JavaScript インポート

アプリのエントリーポイント(通常は index.js または app.js)に次の行を追加して Bootstrap の JavaScript をインポートしてください。

import 'bootstrap';

また, 必要に応じて個別にプラグインをインポートすることもできます。

import 'bootstrap/js/dist/util';
import 'bootstrap/js/dist/alert';
...

Bootstrap は jQueryPopper に依存しています。 これらは peerDependencies として定義されています。つまり npm install --save jquery popper.jspackage.json に追加する必要があります。

スタイルのインポート

プリコンパイルされた Sass のインポート

Bootstrap の可能性を引き出し, 必要に応じてカスタマイズして使う場合は, 標準プロセスの一部としてソースファイルを使います。

はじめに, 独自の _custom.scss を作成し, それを使って 組み込みカスタム変数 を上書きします。その後, Sass ファイルを使ってカスタム変数をインポート, 続いて Bootstrap もインポートします。

@import "custom";
@import "~bootstrap/scss/bootstrap";

Bootstrap をコンパイルするには, 必要な loader をインストールしてくだい: sass-loader, postcss-loader with Autoprefixer。これらは最小限の設定で, webpack にこれらを含める必要があります。

  ...
  {
    test: /\.(scss)$/,
    use: [{
      loader: 'style-loader', // inject CSS to page
    }, {
      loader: 'css-loader', // translates CSS into CommonJS modules
    }, {
      loader: 'postcss-loader', // Run post css actions
      options: {
        plugins: function () { // post css plugins, can be exported to postcss.config.js
          return [
            require('precss'),
            require('autoprefixer')
          ];
        }
      }
    }, {
      loader: 'sass-loader' // compiles Sass to CSS
    }]
  },
  ...

コンパイルされた CSS のインポート

もしくは, この行をエントリーポイントに追加するだけで, すぐに Bootstrap の CSS を使うことができます:

import 'bootstrap/dist/css/bootstrap.min.css';

この場合, webpack を変更することなく CSS を使用することができます。sass-loader は必要ありません。style-loader, css-loader だけで良いです。

  ...
  module: {
    rules: [
      {
        test: /\.css$/,
        use: ['style-loader', 'css-loader']
      }
    ]
  }
  ...