Source

เว็บแพ็ค

เรียนรู้วิธีรวม Bootstrap ในโครงการของคุณโดยใช้ Webpack 3

การติดตั้ง Bootstrap

ติดตั้ง bootstrapเป็นโมดูล Node.js โดยใช้ npm

กำลังนำเข้า JavaScript

นำเข้าJavaScript ของ Bootstrapโดยเพิ่มบรรทัดนี้ในจุดเริ่มต้นแอปของคุณ (ปกติindex.jsหรือapp.js):

import 'bootstrap';

หรือคุณอาจนำเข้าปลั๊กอินทีละรายการได้ตามต้องการ:

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

Bootstrap ขึ้นอยู่กับjQueryและPopperซึ่งถูกกำหนดเป็นpeerDependenciesซึ่งหมายความว่าคุณจะต้องตรวจสอบให้แน่ใจว่าได้เพิ่มทั้งสองอย่างในการpackage.jsonใช้npm install --save jquery popper.jsงาน ของคุณ

โปรดสังเกตว่า หากคุณเลือกนำเข้าปลั๊กอินทีละรายการคุณต้องติดตั้งexports-loader . ด้วย

การนำเข้าสไตล์

การนำเข้า Sass ที่คอมไพล์แล้ว

หากต้องการใช้งาน Bootstrap อย่างเต็มศักยภาพและปรับแต่งตามความต้องการของคุณ ให้ใช้ไฟล์ต้นฉบับเป็นส่วนหนึ่งของกระบวนการรวมกลุ่มของโปรเจ็กต์ของคุณ

ขั้นแรก สร้างของคุณเอง_custom.scssและใช้เพื่อแทนที่ตัวแปรที่กำหนดเองที่มีอยู่แล้วภายใน จากนั้น ใช้ไฟล์ sass หลักเพื่อนำเข้าตัวแปรที่กำหนดเอง ตามด้วย Bootstrap:

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

เพื่อให้ Bootstrap คอมไพล์ ตรวจสอบให้แน่ใจว่าคุณติดตั้งและใช้ตัวโหลดที่จำเป็น: sass -loader , postcss-loaderพร้อม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 ที่คอมไพล์แล้ว

หรือคุณอาจใช้ CSS ที่พร้อมใช้งานของ Bootstrap โดยเพิ่มบรรทัดนี้ในจุดเริ่มต้นโครงการของคุณ:

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

ในกรณีนี้ คุณสามารถใช้กฎที่มีอยู่cssโดยไม่ต้องแก้ไขพิเศษใดๆ กับการกำหนดค่า webpack ยกเว้นว่าคุณไม่ต้องการเพียงsass-loaderแค่style-loaderและcss-loader

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