Skip to main content Skip to docs navigation

Webpack和打包器

了解如何使用Webpack或其它打包器将Bootstrap包含在您的项目中。

安装Bootstrap

使用npm将Bootstrap作为Node.js的一个模块安装。

引入JavaScript

通过将此行代码添加到应用的入口点(通常是index.jsapp.js),引入Bootstrap的JavaScript

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';

Bootstrap依赖于Popper,它在peerDependencies属性中指定。 这意味着您必须确保使用npm install @popperjs/core将其添加到您的package.json

引入样式

Importing Precompiled Sass

要充分利用Bootstrap的潜力并根据您的需要对其进行自定义,请将Bootstrap源代码添加到项目中作为打包过程的一部分。

首先,创建您自己的_custom.scss并使用它来覆盖内置自定义变量。 然后,使用您的主Sass文件导入您的自定义变量,然后使用Bootstrap:

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

要编译Bootstrap,请确保安装并使用所需的加载器:sass-loaderpostcss-loaderAutoprefixer。根据最小配置,你的webpack配置应该包含这些或类似的规则:

// ...
{
  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';

在这种情况下,您可以使用现有的css规则,而不需要对webpack配置进行任何特殊修改,除了不需要sass-loader而是使用style-loadercss-loader

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