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'
        ]
      }
      ]
      }
      // ...
      
      返回頂部
      主站蜘蛛池模板: 无码日本电影一区二区网站| 一区二区和激情视频| 91大神在线精品视频一区| 国产综合精品一区二区| 亚洲一区二区成人| 中文字幕精品一区二区精品| 一区二区在线视频免费观看| 国产剧情一区二区| 国产在线第一区二区三区| 亚洲一区综合在线播放| 蜜桃传媒视频麻豆第一区| 精品深夜AV无码一区二区| 国产色情一区二区三区在线播放| 亚洲色精品vr一区二区三区| 一区二区三区视频网站| 福利片福利一区二区三区| 中文字幕国产一区| 国产成人无码一区二区在线播放 | 精品无人区一区二区三区在线| 熟女精品视频一区二区三区| 国产一区二区三区免费观在线| 一区二区三区电影网| 精品女同一区二区| 久久se精品一区精品二区| 上原亚衣一区二区在线观看| 无码AV动漫精品一区二区免费| 福利片福利一区二区三区| 一区二区三区免费视频播放器| 午夜DV内射一区二区| 一区二区三区四区精品视频| 久久久精品人妻一区二区三区 | 麻豆AV无码精品一区二区 | 国产一区二区三区电影| 在线电影一区二区| 一区二区三区在线观看免费| 国产精品第一区第27页| 亚洲福利电影一区二区?| 日本一区二区三区爆乳| 日韩视频一区二区| 久久无码一区二区三区少妇| 国产午夜精品一区二区三区漫画|