Skip to main content Skip to docs navigation

BootstrapとVite Bootstrap and Vite

Viteを使用してプロジェクトにBootstrapのCSSとJavaScriptを含めてバンドルする方法の公式ガイド。

最後までスキップしたいですか? このガイドのソースコードと動作デモをtwbs/examplesリポジトリからダウンロードできます。また、ライブ編集用にStackBlitzで例を開くこともできます。

Viteとは?

Viteは、スピードとシンプルさのために設計された最新のフロントエンドビルドツールです。特に最新のJavaScriptフレームワークに対して、効率的で合理化された開発体験を提供します。

セットアップ

Bootstrapを使用してViteプロジェクトをゼロから構築しているため、実際に始める前にいくつかの前提条件と事前ステップがあります。このガイドでは、Node.jsがインストールされており、ターミナルについてある程度の知識があることが必要です。

  1. プロジェクトフォルダを作成してnpmをセットアップします。 my-projectフォルダを作成し、-y引数を使用してnpmを初期化することで、すべての対話型の質問を回避します。

    mkdir my-project && cd my-project
    npm init -y
    
  2. Viteをインストールします。 Webpackガイドとは異なり、ここには1つのビルドツール依存関係のみがあります。--save-devを使用して、この依存関係が開発用のみであり、本番用ではないことを示します。

    npm i --save-dev vite
    
  3. Bootstrapをインストールします。 これでBootstrapをインストールできます。ドロップダウン、ポップオーバー、ツールチップは配置のためにPopperに依存しているため、Popperもインストールします。これらのコンポーネントを使用する予定がない場合は、ここでPopperを省略できます。

    npm i --save bootstrap @popperjs/core
    
  4. 追加の依存関係をインストールします。 ViteとBootstrapに加えて、BootstrapのCSSを適切にインポートおよびバンドルするために別の依存関係(Sass)が必要です。

    npm i --save-dev sass
    

これで、必要なすべての依存関係がインストールおよびセットアップされたので、プロジェクトファイルを作成してBootstrapをインポートする作業を開始できます。

プロジェクト構造

すでにmy-projectフォルダを作成し、npmを初期化しました。次に、srcフォルダ、スタイルシート、JavaScriptファイルも作成して、プロジェクト構造を完成させます。my-projectから以下を実行するか、以下に示すフォルダとファイル構造を手動で作成します。

mkdir {src,src/js,src/scss}
touch src/index.html src/js/main.js src/scss/styles.scss vite.config.js

完了すると、完全なプロジェクトは次のようになります:

my-project/
├── src/
│   ├── js/
│   │   └── main.js
│   └── scss/
│   |   └── styles.scss
|   └── index.html
├── package-lock.json
├── package.json
└── vite.config.js

この時点では、すべてが適切な場所にありますが、vite.config.jsにまだ記入していないため、Viteは機能しません。

Viteの設定

依存関係がインストールされ、プロジェクトフォルダがコーディングを開始する準備ができたので、Viteを設定してプロジェクトをローカルで実行できます。

  1. エディターでvite.config.jsを開きます。 空白なので、サーバーを起動できるように、いくつかのボイラープレート設定を追加する必要があります。設定のこの部分は、ViteにプロジェクトのJavaScriptを探す場所と、開発サーバーがどのように動作すべきか(srcフォルダからホットリロードで取得)を伝えます。

    import { resolve } from 'path'
    
    export default {
      root: resolve(__dirname, 'src'),
      build: {
        outDir: '../dist'
      },
      server: {
        port: 8080
      },
      // Optional: Silence Sass deprecation warnings. See note below.
      css: {
         preprocessorOptions: {
            scss: {
              silenceDeprecations: [
                'import',
                'mixed-decls',
                'color-functions',
                'global-builtin',
              ],
            },
         },
      },
    }
    

    注: Sassの非推奨警告は、最新バージョンのDart SassでソースSassファイルをコンパイルするときに表示されます。これはBootstrapのコンパイルや使用を妨げるものではありません。長期的な修正に取り組んでいますが、その間、これらの非推奨通知は無視できます。

  2. 次にsrc/index.htmlに記入します。 これは、後のステップで追加するバンドルされたCSSとJSを利用するためにViteがブラウザーで読み込むHTMLページです。

    <!doctype html>
    <html lang="en">
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Bootstrap w/ Vite</title>
        <script type="module" src="./js/main.js"></script>
      </head>
      <body>
        <div class="container py-4 px-3 mx-auto">
          <h1>Hello, Bootstrap and Vite!</h1>
          <button class="btn btn-primary">Primary button</button>
        </div>
      </body>
    </html>
    

    ここでは、div class="container"<button>を使用してBootstrapスタイリングを少し含めているため、BootstrapのCSSがViteによって読み込まれたときにわかります。

  3. 次に、Viteを実行するためのnpmスクリプトが必要です。 package.jsonを開き、以下に示すstartスクリプトを追加します(すでにtestスクリプトがあるはずです)。このスクリプトを使用して、ローカルVite開発サーバーを起動します。

    {
      // ...
      "scripts": {
        "start": "vite",
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      // ...
    }
    
  4. そして最後に、Viteを起動できます。 ターミナルのmy-projectフォルダから、新しく追加されたnpmスクリプトを実行します:

    npm start
    
    Vite dev server running

このガイドの次の最後のセクションでは、BootstrapのすべてのCSSとJavaScriptをインポートします。

Bootstrapのインポート

  1. BootstrapのCSSをインポートします。 BootstrapのソースSassをすべてインポートするには、src/scss/styles.scssに以下を追加します。

    // Import all of Bootstrap's CSS
    @import "bootstrap/scss/bootstrap";
    

    必要に応じて、スタイルシートを個別にインポートすることもできます。詳細については、Sassインポートドキュメントをお読みください

  2. 次に、CSSを読み込み、BootstrapのJavaScriptをインポートします。 CSSを読み込み、BootstrapのすべてのJSをインポートするには、src/js/main.jsに以下を追加します。PopperはBootstrapを通じて自動的にインポートされます。

    // Import our custom CSS
    import '../scss/styles.scss'
    
    // Import all of Bootstrap's JS
    import * as bootstrap from 'bootstrap'
    

    バンドルサイズを小さく保つために、必要に応じてJavaScriptプラグインを個別にインポートすることもできます:

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

    Bootstrapのプラグインの使用方法の詳細については、JavaScriptドキュメントをお読みください

  3. これで完了です! BootstrapのソースSassとJSが完全に読み込まれたので、ローカル開発サーバーは次のようになります:

    Vite dev server running with Bootstrap

    これで、使用したいBootstrapコンポーネントの追加を開始できます。追加のカスタムSassを含める方法と、必要なBootstrapのCSSとJSの部分のみをインポートしてビルドを最適化する方法については、完全なVite例プロジェクトを確認してください


See something wrong or out of date here? Please open an issue on GitHub. Need help troubleshooting? Search or start a discussion on GitHub.