Webpack

瞭解如何使用 Webpack 3 將 Bootstrap 加入到你的專案中。

六角學院 六角學院

六角學院的 Bootstrap 課程上線囉,立即與萬人一同學習最專業、最深入的 Bootstrap 課程。

立即上課去

安裝 Bootstrap

使用 Node.js npm 安裝 bootstrap

匯入 JavaScript

匯入 Bootstrap’s JavaScript 加入下面這行在你的 entry point (通常是 index.jsapp.js):

import 'bootstrap';

另外,你可以在需要時 獨立匯入插件

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

Bootstrap 取決於jQueryPopper,這些被定義為 peerDependencies,這意味著你將一定要記得加入到 package.json 使用 npm install --save jquery popper.js

請注意,如果您是 單獨匯入插件,還必須安裝 exports-loader

匯入樣式

匯入未編譯的 SASS

啟用 Bootstrap 的全部潛力並按你的需求客製化 Bootstrap,使用原始檔案作為你編譯的部分內容。

首先,創建您自己的 _custom.scss 並使用它來覆蓋 自訂義變數。 然後,使用你的主要sass 文件導入你的自定義變數,接下來再載入 Bootstrap:

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

要讓 Bootstrap 進行編譯,先確認你安裝並使用了必要的 loader: sass-loaderpostcss-loader 搭配 Autoprefixerpostcss-flexbugs-fixes。以最精簡的配置來說,你的 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

另外,你可以將此程式碼加到你專案的 entry point,以使用 Bootstrap 現成的 CSS:

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

如果你不需要額外客制樣式,這種情況下不需要 sass-loader 只需要 style-loader 和 [css-loader](https://github.com/webpack-contrib/css-loader

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