createApp() アプリインスタンスの作成
最終更新:2026-10-22
createApp() アプリインスタンスの作成
createApp() はルートコンポーネントからアプリインスタンスを作成します。返される app オブジェクトは、コンポーネント登録、プラグインインストール、マウントなどのアプリケーションレベルの機能を提供します。
| グループ | グローバル API |
|---|---|
| 種類 | API |
| スコープ | グローバル |
| Vue バージョン | 3.0+ |
| SSR 対応 | 対応 |
📝 構文
const app = createApp(App)
app.use(router)
app.mount("#app")
⚙️ 引数
| rootComponent, rootProps? | ルートコンポーネントの定義(オブジェクトまたはコンポーネント)。ルート props も渡せます |
|---|
戻り値:アプリインスタンス:mount / component / use / provide / config などのメソッド
▶ 例
以下のコードを編集して結果を確認しましょう:
出力:
Shows 'app running'.
💡 ポイント
💡 ヒント アプリインスタンスとルートコンポーネントインスタンスは別物です。app はグローバル機能を担い、this はルートコンポーネントインスタンスを指します。
ℹ️ 補足 1 つのページに複数のアプリを作成できます(マイクロフロントエンド/段階的拡張のシナリオ)。それらは互いに分離されています。
⚠️ 注意 createApp の後の設定は mount の前に書く必要があります。マウント後に登録したコンポーネントは反映されません。
🏷️ 関連グローバル API
💡 関連ケース
関連ケースは近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q new Vue() との違いは何ですか?
A Vue 3 はファクトリ関数でアプリインスタンスを作成します。設定が互いに分離され、グローバル汚染を避けられます。
Q 複数のルートコンポーネントをマウントできますか?
A 1 つの app に対応するルートコンポーネントは 1 つです。複数のルートが必要なら複数の app を作成してください(または 1 つのルートの下に複数コンポーネントを置きます)。
Q mount しないとどうなりますか?
A 何もレンダリングされません。コンポーネント定義は準備されるだけで、ページには接続されません。