SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

JavaScriptフレームワーク「Vue 3」と「Nuxt 3」の活用

「Nuxt 3」の新機能を体験してみよう――環境作成からVue 3の新機能活用・Nuxt Bridgeの利用方法まで

JavaScriptフレームワーク「Vue 3」と「Nuxt 3」の活用 第1回

Nuxt 3プロジェクトを生成し、動かしてみる

 以下では、Nuxt 3への入門として、CLIツールnuxiを利用してNuxt 3のプロジェクトを生成し、そのまま動作させてみます。動作させると下図のWebページが表示されます。

CLIツールで生成したNuxt 3のプロジェクトの実行結果(p001-nuxt3-plain)

図4 CLIツールで生成したNuxt 3のプロジェクトの実行結果(p001-nuxt3-plain)

 最初に、開発環境を用意します。公式ドキュメントでは、以下の環境を推奨しています。

  • Node.js(LTS版の最新バージョン)
  • Visual Studio Code
  • Volar(Visual Studio CodeでVue.jsの開発をサポートする拡張機能)

 Volarは、Visual Studio Codeの画面で検索してインストールできます。

Volar拡張機能をVisual Studio Codeにインストールする手順

図5 Volar拡張機能をVisual Studio Codeにインストールする手順

 プロジェクトを生成するには、コマンドプロンプトまたはPowerShellでリスト1のコマンドを実行します。npxは、最新のCLIツールをダウンロードしてそのまま実行するコマンドです。

[リスト1]Nuxt 3プロジェクトを生成するコマンド
npx nuxi init <プロジェクト名>

 リスト1のコマンドを実行すると、プロジェクト名に指定した名前のフォルダー内にプロジェクトのファイルが生成されます。

CLIツールで生成したNuxt 3のプロジェクト内容(p001-nuxt3-plain)

図6 CLIツールで生成したNuxt 3のプロジェクト内容(p001-nuxt3-plain)

 各ファイルの役割を表1に示します。Webページの内容はapp.vueファイルに記述します。

表1 Nuxt 3プロジェクトに含まれるファイル(p001-nuxt3-plain)
No. ファイル名 役割
1 .gitignore Gitに登録しないファイルの設定
2 app.vue Webページ(コンポーネント)ファイル
3 nuxt.config.ts Nuxt.jsの設定ファイル
4 package.json Node.jsプロジェクトの設定ファイル
5 README.md プロジェクト説明ドキュメントファイル
6 tsconfig.json TypeScriptの設定ファイル

[補足]Nuxt 3プロジェクトにはデフォルトでページ切り替え機能が含まれない

 Nuxt 2ではプロジェクト生成時に、デフォルトでさまざまなフォルダーが生成されました(詳細は過去記事を参照)。一方でNuxt 3では、プロジェクトで最初に生成されるのは必要最低限のファイルだけです。特に、複数の*.vueファイルを配置して切り替え表示できるようにするpagesフォルダーは、Nuxt 3ではデフォルトで生成されず、また、複数ページを切り替えるために必要となるvue-routerも利用されません。そのため、ページ切り替えが必要ないプロジェクトでは、vue-routerが含まれない分だけ、生成されるファイルを軽量化できます。

 Nuxt 3のプロジェクトでも、pagesフォルダーを自分で生成して複数の*.vueファイルを配置すれば、自動的にvue-routerが導入され、Nuxt 2と同様のページ切り替えが利用できるようになります。

 このプロジェクトを実行してみます。Nuxt 2までと異なり、プロジェクト生成直後にはライブラリーがダウンロードされないので、最初に明示的に「npm install」コマンドを実行してライブラリーをダウンロードする必要があります。その後「npm run dev」コマンドを実行後、Webブラウザーから「https://localhost:3000/」にアクセスすると、図4の通り表示されます。

 プロジェクト生成直後、Webページに対応するapp.vueの内容はリスト2の通りになっています。図4のページ内容は<NuxtWelcome />コンポーネントが表示しています。

[リスト2]Nuxt 3プロジェクト生成直後のapp.vue(p001-nuxt3-plain/app.vue)
<template>
  <div>
    <NuxtWelcome />
  </div>
</template>

次のページ
Vue 3のComposition APIを試す

この記事は参考になりましたか?

JavaScriptフレームワーク「Vue 3」と「Nuxt 3」の活用連載記事一覧
この記事の著者

WINGSプロジェクト  吉川 英一(ヨシカワ エイイチ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/15492 2022/02/09 11:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー