주요 콘텐츠로 건너뛰기 문서 탐색으로 건너뛰기
in English

웹팩과 번들러

Webpack 또는 다른 번들러를 사용하여 프로젝트에 부트스트랩을 포함하는 방법을 알아보세요.

부트스트랩 설치

npm을 사용하여 부트스트랩을 Node.js 모듈로 설치합니다 .

자바스크립트 가져오기

앱의 진입점(일반적으로 또는 ) 에 다음 줄을 추가하여 Bootstrap의 JavaScript 를 가져 옵니다.index.jsapp.js

import 'bootstrap';

// or get all of the named exports for further usage
import * as bootstrap from 'bootstrap';

또는 플러그인이 몇 개만 필요한 경우 필요에 따라 플러그인을 개별적 으로 가져올 수 있습니다.

import Alert from 'bootstrap/js/dist/alert';

// or, specify which plugins you need:
import { Tooltip, Toast, Popover } from 'bootstrap';

부트스트랩은 속성 에 지정된 Popper 에 의존 합니다. peerDependencies이것은 당신이 그것을 당신의 package.jsonusing 에 반드시 추가해야 한다는 것을 의미합니다 npm install @popperjs/core.

스타일 가져오기

미리 컴파일된 Sass 가져오기

Bootstrap의 잠재력을 최대한 활용하고 필요에 맞게 사용자 정의하려면 소스 파일을 프로젝트 번들링 프로세스의 일부로 사용하십시오.

먼저 자신만의 것을 만들고 이를 사용하여 기본 제공 맞춤 변수_custom.scss 를 재정의합니다 . 그런 다음 기본 Sass 파일을 사용하여 사용자 정의 변수를 가져온 다음 부트스트랩을 사용합니다.

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

부트스트랩을 컴파일하려면 sass-loader , Postcss-loader with Autoprefixer 와 같은 필수 로더를 설치하고 사용해야 합니다 . 최소한의 설정으로 웹팩 구성에 다음 규칙 또는 이와 유사한 규칙이 포함되어야 합니다.

// ...
{
  test: /\.(scss)$/,
  use: [{
    // inject CSS to page
    loader: 'style-loader'
  }, {
    // translates CSS into CommonJS modules
    loader: 'css-loader'
  }, {
    // Run postcss actions
    loader: 'postcss-loader',
    options: {
      // `postcssOptions` is needed for postcss 8.x;
      // if you use postcss 7.x skip the key
      postcssOptions: {
        // postcss plugins, can be exported to postcss.config.js
        plugins: function () {
          return [
            require('autoprefixer')
          ];
        }
      }
    }
  }, {
    // compiles Sass to CSS
    loader: 'sass-loader'
  }]
}
// ...

컴파일된 CSS 가져오기

또는 프로젝트의 진입점에 다음 줄을 추가하기만 하면 Bootstrap의 즉시 사용 가능한 CSS를 사용할 수 있습니다.

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

이 경우 style-loadercss-loadercss필요하지 않다는 점을 제외하고 webpack 구성에 대한 특별한 수정 없이 기존 규칙을 사용할 수 있습니다 .sass-loader

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