Webpack and bundlers

      Learn how to include Bootstrap in your project using Webpack or other bundlers.

      Installing Bootstrap

      Install bootstrap as a Node.js module using npm.

      Importing JavaScript

      Import Bootstrap’s JavaScript by adding this line to your app’s entry point (usually index.js or app.js):

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

      Alternatively, if you only need just a few of our plugins, you may import plugins individually as needed:

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

      Bootstrap depends on Popper, which is specified in the peerDependencies property. This means that you will have to make sure to add it to your package.json using npm install @popperjs/core.

      Importing Styles

      Importing Precompiled Sass

      To enjoy the full potential of Bootstrap and customize it to your needs, use the source files as a part of your project’s bundling process.

      First, create your own _custom.scss and use it to override the built-in custom variables. Then, use your main Sass file to import your custom variables, followed by Bootstrap:

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

      For Bootstrap to compile, make sure you install and use the required loaders: sass-loader, postcss-loader with Autoprefixer. With minimal setup, your webpack config should include this rule or similar:

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

      Importing Compiled CSS

      Alternatively, you may use Bootstrap’s ready-to-use CSS by simply adding this line to your project’s entry point:

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

      In this case you may use your existing rule for css without any special modifications to webpack config, except you don’t need sass-loader just style-loader and css-loader.

      // ...
      module: {
      rules: [
      {
        test: /\.css$/,
        use: [
          'style-loader',
          'css-loader'
        ]
      }
      ]
      }
      // ...
      
      返回頂部
      主站蜘蛛池模板: 99久久精品国产高清一区二区| 天堂Aⅴ无码一区二区三区| 日韩伦理一区二区| 久久久91精品国产一区二区三区 | 国产福利无码一区在线| 国产一区二区三区不卡AV| 日本免费一区尤物| 亚洲欧美国产国产一区二区三区| 亚洲av一综合av一区| 国产高清一区二区三区四区| 国产伦精品一区二区三区在线观看 | 无码国产精品一区二区高潮| 一区高清大胆人体| 久久99精品国产一区二区三区| 国产精品被窝福利一区| 一区二区三区免费视频播放器| 日本一区高清视频| 国产麻豆剧果冻传媒一区| 亚洲码欧美码一区二区三区| 3D动漫精品一区二区三区| 亚洲熟女综合一区二区三区| 国产精品高清一区二区三区不卡| 久久人妻内射无码一区三区| 无码人妻精品一区二区三区久久| 国99精品无码一区二区三区 | 精品一区二区三区无码免费视频| 亚洲AV午夜福利精品一区二区 | 人妻少妇精品视频一区二区三区| 无码国产精品一区二区免费vr| 午夜精品一区二区三区免费视频| 日本伊人精品一区二区三区| 人妻无码视频一区二区三区| 麻豆国产一区二区在线观看| 亚洲AV无码一区二区三区久久精品| 亚洲AV无码一区二区三区久久精品 | 一区二区在线电影| 亚洲.国产.欧美一区二区三区| 国产精品视频免费一区二区| 亚洲高清成人一区二区三区| 中文人妻无码一区二区三区| 精品人妻码一区二区三区|