こんにちは。Vue.js 3の開発環境を一緒に設定しましょう。Vue.jsは、ユーザーインターフェースを作るためのプログレッシブフレームワークです。
Vue 3では、以前のバージョンに比べて性能が大きく向上し、開発もしやすくなりました。
今回は、手軽で素早く始められる
Vite
でプロジェクトを作り、Vueの中核となる*単一ファイルコンポーネント(SFC)*の構造まで、順に見ていきます。
Vue.jsとVite
さっそくVue 3のプロジェクトを作りましょう。
以前は
Vue CLI
が主に使われていましたが、現在は素早く軽量にプロジェクトを作成、実行するために
Vite
がよく使われます。
Viteは、フロントエンド向けの開発ツールです。
Webpackなどの従来のバンドラーと異なり、ネイティブのESモジュールを使って開発サーバーを動かすため、起動が速くなります。1秒もかからずに起動することもあります。Webpackのような複雑な設定をせずに、すぐに開発を始められるのが利点です。
プロジェクトを作るには、
Node.js
と、
npm
または
yarn
が必要です。通常、Node.jsをインストールするとnpmも入ります。
ターミナル(コマンドプロンプトやPowerShellなど)を開き、次のコマンドを実行します。
実行すると、Viteからいくつか質問されます。
project name: で名前を入力します。例えば my-vue-app とします。
Select a framework: では矢印キーで Vue を選び、Enterを押します。
Select a variant: では JavaScript または TypeScript を選びます。今回は JavaScript を選びます。
選択が終わると、Viteがプロジェクトのフォルダーと基本ファイルを自動で作ります。作成したフォルダーに移動し、必要なパッケージをインストールしましょう。
cd my-vue-app
npm install
npm install は、プロジェクトに必要なパッケージをダウンロードしてインストールするコマンドです。
終わったら、開発サーバーを起動できます。
このコマンドを実行すると、ターミナルに
http://localhost:5173 のようなアドレスが表示されます。
アドレスをブラウザで開くと、「You did it!」というメッセージと、回転するVueロゴが表示されます。
Vueの大きな特徴の1つが、
単一ファイルコンポーネント(Single File Component)
、略して
SFC
と呼ばれる
.vue ファイルです。
レゴブロックのように、1つの
.vue ファイルが独立したコンポーネントになります。1つのファイルにHTML、JavaScript、CSSをまとめられるので、関連するコードを管理しやすくなります。
生成したプロジェクトの src/components/HelloWorld.vue を開くと、次のような構成を確認できます。
< script setup >
// JavaScript 로직이 들어가는 부분
// 컴포넌트의 데이터, 함수 등을 정의합니다.
import { ref } from 'vue'
defineProps ({
msg: String,
})
const count = ref ( 0 )
</ script >
< template >
< h1 >{{ msg }}</ h1 >
< div class = "card" >
< button type = "button" @click = "count++" >count is {{ count }}</ button >
</ div >
< p >
Edit
< code >components/HelloWorld.vue</ code > to test HMR
</ p >
</ template >
< style scoped >
/* CSS 스타일이 들어가는 부분 */
/* `scoped` 속성을 사용하면 이 스타일은 현재 컴포넌트에만 적용됩니다. */
.read-the-docs {
color : #888 ;
}
</ style >
コンポーネントの
HTML構造
を書く場所です。
テキスト、ボタン、画像など、画面に表示したいものを書きます。
Vueは
template 内の
{{ }} などの構文を使い、データを画面に表示します。
コンポーネントの
JavaScriptロジック
を書く場所です。
データ(状態)、データを変える関数、ほかのコンポーネントのインポートや使用などを記述します。
Vue 3では、
setup 属性でコンポーネントのロジックを簡潔に書けます。
setup を使うと、コンポーネントのインスタンス作成時に実行される関数のように動き、リアクティブなデータを宣言したり、関数を定義したりできます。
コンポーネントの
CSSスタイル
を書く場所です。ここで重要なのが
scoped 属性です。
scoped を付けると、
<style> 内のCSSが
現在のコンポーネントだけ
に適用されます。
ほかのコンポーネントやグローバルスタイルに影響しないので、CSSの競合を避けながら独立して管理できます。
可読性
。HTML、JavaScript、CSSが1つのファイルに集まり、コンポーネントを理解して修正しやすくなります。
保守性
。コンポーネントごとにファイルが分かれており、機能単位で管理しやすくなります。
再利用性
。作ったコンポーネントを別の場所でも簡単に読み込んで使えます。
今回は、ViteでVue 3の開発環境を素早く用意する方法を学びました。Vueの中核である
.vue 単一ファイルコンポーネント(SFC)の各部分の役割も確認しました。
SFCは、Vueプロジェクトを整理して管理し、開発を効率化するうえで重要です。
次回はVueのテンプレート構文を詳しく見て、データを画面に表示し、ユーザー入力を処理する方法を学びます。