| この記事の要点 |
|
Vue プロジェクトを npm で作成する
macOS 上で Vue CLI を使って Vue.js プロジェクトを新規作成し、開発サーバーで動作確認するまでの手順です。
前提環境
- npm (Node.js) インストール済み —
node -v/npm -vで確認 - 対象 OS: macOS
- Vue CLI 3 系以上 (Vue 2/3 両対応)
# バージョン確認
$ node -v
v20.10.0
$ npm -v
10.2.3
Node.js 未導入なら Homebrew で入れるのが簡単:
$ brew install node
1. Vue CLI の導入
Vue CLI をグローバルにインストールします。
$ npm install -g @vue/cli
インストール後、vue --version でバージョン確認:
$ vue --version
@vue/cli 5.0.8
権限エラーが出る場合は sudo npm install -g @vue/cli。あるいは nvm (Node Version Manager) で Node.js を入れ直すと sudo 不要になります。
2. プロジェクトの作成
$ vue create my-app
するとプリセット選択画面が表示されます:
Vue CLI v5.0.8
? Please pick a preset:
> Default ([Vue 3] babel, eslint)
Default ([Vue 2] babel, eslint)
Manually select features
| 選択肢 | 内容 |
|---|---|
| Default (Vue 3) | Vue 3 + Babel + ESLint の最小構成 |
| Default (Vue 2) | Vue 2 系の最小構成 |
| Manually select features | TypeScript / Router / Vuex / CSS プリプロセッサ等を選択 |
初回学習ならDefault (Vue 3) で十分。慣れたら Manually で TypeScript / Vue Router / Vuex (Pinia) などを追加。
3. 生成されるディレクトリ構成
my-app/
├── public/
│ ├── favicon.ico
│ └── index.html
├── src/
│ ├── assets/
│ ├── components/
│ │ └── HelloWorld.vue
│ ├── App.vue
│ └── main.js
├── .gitignore
├── babel.config.js
├── package.json
└── README.md
4. プロジェクトの起動
作成したプロジェクトディレクトリに移動して開発サーバーを起動:
$ cd my-app
$ npm run serve DONE Compiled successfully in 2456ms
App running at:
- Local: http://localhost:8080/
- Network: http://192.168.1.5:8080/
Note that the development build is not optimized.
To create a production build, run npm run build.
表示されたLocal URL にブラウザでアクセスすると、Vue のロゴと HelloWorld コンポーネントが表示されます。ホットリロード対応なので、ソース編集すれば即座にブラウザに反映されます。
5. よく使う npm スクリプト
| コマンド | 用途 |
|---|---|
npm run serve | 開発サーバー起動 |
npm run build | 本番用ビルド (dist/ 出力) |
npm run lint | ESLint チェック |
npm install パッケージ名 | パッケージ追加 |
npm install | package.json から依存をインストール |
Vue 3 + Vite (現代的な構成)
2026 年現在、Vue 公式は Vue 3 + Vite を推奨しています。Vue CLI より起動が高速で開発体験が良い:
$ npm create vue@latest
? Project name: my-vue-app
? Add TypeScript? Yes
? Add JSX Support? No
? Add Vue Router? Yes
? Add Pinia? Yes
? Add Vitest? No
? Add an End-to-End Testing Solution? No
? Add ESLint? Yes
? Add Prettier? Yes
$ cd my-vue-app
$ npm install
$ npm run dev
新規プロジェクトはこちらを推奨。Vue CLI は既存プロジェクトの維持用と捉えるとよいです。
トラブルシュート
Q: command not found: vue
A: グローバルインストールが PATH に通っていない。npm config get prefix で出るディレクトリの bin を PATH に追加するか、npx @vue/cli create my-app で実行。
Q: EACCES エラー
A: グローバルインストール先に書き込み権限がない。nvm を使うか、npm config set prefix '~/.npm-global' でユーザーローカルに変更。
Q: ポート 8080 が使われている
A: npm run serve -- --port 3000 で別ポート指定。または既存プロセスを lsof -i :8080 で確認して止める。
Q: npm と yarn / pnpm どちらを使えばいい?
A: シングルプロジェクトなら npm で十分。モノレポや高速化を求めるなら pnpm が現代的。yarn も健在だが採用率は減少傾向。
vue.config.js のカスタマイズ
プロジェクトルートに vue.config.js を置くと開発サーバーやビルドの詳細を調整できます。
// vue.config.js
module.exports = {
devServer: {
port: 3000,
open: true, // 起動時にブラウザを開く
proxy: {
// /api 配下を別サーバーにプロキシ (CORS 回避)
'/api': {
target: 'http://localhost:8000',
changeOrigin: true,
},
},
},
publicPath: process.env.NODE_ENV === 'production' ? '/myapp/' : '/',
outputDir: 'dist',
};
本番ビルドとデプロイ
開発が終わったら本番用に最適化されたバンドルを生成します。
$ npm run build
# dist/ ディレクトリに index.html / js / css が生成される
$ ls dist
css favicon.ico index.html js
生成された dist ディレクトリを静的ホスティング (Netlify / Vercel / S3 + CloudFront / GitHub Pages) にアップロードすればデプロイ完了です。SPA の場合はサーバー側ですべてのリクエストを index.html に返すルールを設定する必要があります。
子ページはありません
- インストール(ファイルのダウンロード)
- npmを使用したプロジェクトの作成
- for 繰り返し処理
- ifの条件分岐とtemplateを用いたグループ化
- クリック時のイベント処理(on:click)
- modelとdata フォーム入力値とDOMへの即時反映
- computed(算出プロパティ)と使い方とdataとの違い
- ライフサイクルフック(created / mounted / updated / destroyedの使い方)
- $nextTickの使い方(ライフサイクルフック)
- メソッドの定義方法
- エラー一覧
- ルーティング設定
- aリンクの貼り方と動的URLの作成
- Mixinを利用した共通処理の記述方法
- v-bindによるデータ連携
- ヘッダー/フッターの共通コンポーネント
- ナビゲーションの現在ページをハイライトする方法
- 画面サイズの取得方法
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- プロジェクトをTomcatプロジェクトとして認識させる方法 2026-10-07 22:32:50
- MySQLの1366 Incorrect string value|Laravelの文字コード・絵文字エラー 2026-10-07 21:54:03
- curlの証明書ホスト名不一致|旧エラー51・現行60の確認と対処 2026-10-07 21:54:03
- LaravelのMassAssignmentException|fillableの原因と安全な対処 2026-10-07 21:54:03
- Eclipse で Tomcat の起動ログがコンソールに出ない時の確認手順 2026-10-07 21:54:02
- MySQLにおける中央値(Median)の導き方(バージョン8未満) 2026-10-07 13:49:45
- getInputForward 2026-10-07 13:41:15
- JSONから配列に変換 2026-10-07 13:41:15
- ビューから値をモデルに格納しコントローラーで受け取る方法 2026-10-07 13:23:41
- Laravelのテーブル作成と定義変更|マイグレーション・up/down・注意点 2026-10-07 13:23:41
- NumPy 配列に要素を追加する方法 (append / concatenate) 2026-10-07 13:23:41
- MariaDB・MySQLで現在日時を取得する方法|NOW・タイムゾーン・保存型 2026-10-07 13:13:36
- 【django】テンプレートで定数を使用する方法 2026-10-07 13:10:15
- Spring BootにおけるApplication.propertiesの環境依存設定の分割方法 2026-10-07 12:09:35
- Not supported for DML operations【Springエラー】 2026-10-07 11:09:38