Source

Puke pūnaewele

E aʻo pehea e hoʻokomo ai iā Bootstrap i kāu papahana me ka hoʻohana ʻana iā Webpack 3.

Ke kau nei i ka Bootstrap

E hoʻouka i ka bootstrap ma ke ʻano he module Node.js me ka npm.

Ke lawe mai nei i ka JavaScript

E hoʻokomo i ka JavaScript a Bootstrap ma ka hoʻohui ʻana i kēia laina i ka wahi komo o kāu polokalamu (maʻamau a i index.jsʻole app.js):

import 'bootstrap';

ʻO kahi ʻē aʻe, hiki iā ʻoe ke hoʻokomo i nā plugins pākahi e like me ka mea e pono ai:

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

Ke hilinaʻi nei ʻo Bootstrap i ka jQuery a me Popper , ua wehewehe peerDependenciesʻia kēia, ʻo ia ka mea e pono ʻoe e hōʻoia e hoʻohui i nā mea ʻelua i kāu package.jsonhoʻohana ʻana npm install --save jquery popper.js.

E hoʻomaopopo inā koho ʻoe e hoʻokomo i nā plugins pākahi , pono ʻoe e hoʻokomo i ka exports-loader

Kaila lawe mai

Ke lawe mai nei i nā Sass i hoʻopili mua ʻia

No ka leʻaleʻa i ka mana piha o Bootstrap a hoʻopilikino iā ia i kāu pono, e hoʻohana i nā faila kumu ma ke ʻano he ʻāpana o ke kaʻina hana pūʻulu o kāu papahana.

ʻO ka mea mua, hana i kāu ponoʻī _custom.scssa hoʻohana iā ia e hoʻopau i nā ʻano maʻamau i kūkulu ʻia . A laila, e hoʻohana i kāu faila sass nui e hoʻokomo i kāu mau loli maʻamau, a ukali ʻia e Bootstrap:

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

No ka hōʻuluʻulu ʻana o Bootstrap, e hōʻoia ʻoe e hoʻokomo a hoʻohana i nā mea hoʻouka pono: sass-loader , postcss-loader me Autoprefixer . Me ka hoʻonohonoho liʻiliʻi, pono kāu hoʻonohonoho pūnaewele pūnaewele e hoʻokomo i kēia lula a i ʻole like:

  ...
  {
    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
    }]
  },
  ...

Ke lawe mai nei i ka CSS i houluuluia

ʻO kahi ʻē aʻe, hiki iā ʻoe ke hoʻohana i ka css mākaukau a Bootstrap ma ka hoʻohui ʻana i kēia laina i ka helu komo o kāu papahana:

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

I kēia hihia, hiki iā ʻoe ke hoʻohana i kāu lula e kū nei cssme ka ʻole o nā hoʻololi kūikawā i ka webpack config koe wale nō ʻaʻole pono ʻoe i sass-loaderka style-loader a me css-loader wale nō .

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