Skip to main content Skip to docs navigation

BootstrapとParcel Bootstrap and Parcel

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

最後までスキップしたいですか? このガイドのソースコードと動作デモをtwbs/examplesリポジトリからダウンロードできます。StackBlitzでサンプルを開くこともできますが、Parcelは現在サポートされていないため実行できません。

Parcelとは?

Parcelは、ゼロ設定のセットアップで開発プロセスを簡素化するように設計されたWebアプリケーションバンドラーです。使いやすさに重点を置きながら、より高度なバンドラーで見られる機能を提供するため、迅速な開始を求める開発者に最適です。

セットアップ

BootstrapでParcelプロジェクトをゼロから構築するため、本格的に始める前にいくつかの前提条件と事前の手順があります。このガイドでは、Node.jsがインストールされていて、ターミナルにある程度精通している必要があります。

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

    mkdir my-project && cd my-project
    npm init -y
    
  2. Parcelをインストールします。 Webpackガイドとは異なり、ここにはビルドツールの依存関係が1つしかありません。Parcelは、言語トランスフォーマー(Sassなど)を検出すると自動的にインストールします。--save-devを使用して、この依存関係が本番環境ではなく開発用のみであることを示します。

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

    npm i --save bootstrap @popperjs/core
    

必要なすべての依存関係がインストールされたので、プロジェクトファイルの作成と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

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

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

この時点で、すべてが適切な場所にありますが、Parcelはサーバーを起動するためにHTMLページとnpmスクリプトが必要です。

Parcelの設定

依存関係がインストールされ、プロジェクトフォルダがコーディングを開始する準備ができたので、Parcelを設定してプロジェクトをローカルで実行できます。Parcel自体は設計上設定ファイルを必要としませんが、サーバーを起動するにはnpmスクリプトとHTMLファイルが必要です。

  1. src/index.htmlファイルを記入します。 Parcelはレンダリングするページが必要なので、index.htmlページを使用してCSSとJavaScriptファイルを含む基本的なHTMLをセットアップします。

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

    ここでは、div class="container"<button>を使用してBootstrapのスタイリングを少し含めています。これにより、ParcelによってBootstrapのCSSがロードされたときに確認できます。

    Parcelは、Sassを使用していることを自動的に検出し、それをサポートするためにSass Parcelプラグインをインストールします。ただし、必要に応じて手動でnpm i --save-dev @parcel/transformer-sassを実行することもできます。

  2. Parcel npmスクリプトを追加します。 package.jsonを開き、次のstartスクリプトをscriptsオブジェクトに追加します。このスクリプトを使用して、Parcel開発サーバーを起動し、作成したHTMLファイルがdistディレクトリにコンパイルされた後にレンダリングします。

    {
       // ...
       "scripts": {
         "start": "parcel serve src/index.html --public-url / --dist-dir dist",
         "test": "echo \"Error: no test specified\" && exit 1"
       },
       // ...
    }
    
  3. 最後に、Parcelを起動できます。 ターミナルのmy-projectフォルダから、新しく追加したnpmスクリプトを実行します:

    npm start
    
    Parcel dev server running

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

Bootstrapのインポート

BootstrapをParcelにインポートするには、styles.scssへの1つのインポートとmain.jsへの1つのインポートの2つが必要です。

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

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

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

    オプション: 最新バージョンのDart Sassで、Sassの非推奨警告が表示される場合があります。これらは、ルートフォルダの.sassrc.jsファイルに次の設定を追加することで非表示にできます:

    module.exports = {
      silenceDeprecations: ['import', 'mixed-decls', 'color-functions', 'global-builtin']
    }
    
  2. BootstrapのJSをインポートします。 BootstrapのJSをすべてインポートするには、src/js/main.jsに次を追加します。PopperはBootstrapを通じて自動的にインポートされます。

    // 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が完全にロードされると、ローカル開発サーバーは次のようになります:

    Parcel dev server running with Bootstrap

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


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