ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
環境別ビルドコマンド
| ツール | 開発 | 本番ビルド | 出力先 |
|---|---|---|---|
| Laravel Mix (旧) | npm run dev / watch | npm run prod / production | public/ |
| Laravel Vite (推奨) | npm run dev | npm run build | public/build/ |
| Vue CLI | npm run serve | npm run build | dist/ |
| Vite (standalone) | npm run dev | npm run build | dist/ |
| Nuxt 3 | npm run dev | npm run build | .output/ |
Laravel Mix(旧プロジェクト)
# 開発時(HMR、ファイル監視)
npm run dev
npm run watch # 自動再ビルド
# 本番ビルド
npm run prod
# = npm run production
# = mix --production
# webpack.mix.js
# mix.js('resources/js/app.js', 'public/js')
# .vue()
# .sass('resources/sass/app.scss', 'public/css')
# .version(); // ← ハッシュ付きで cache bust
Laravel Vite(新プロジェクト・推奨)
# 開発時
npm run dev
# 本番ビルド
npm run build
# 出力: public/build/
# ├── manifest.json
# ├── assets/
# │ ├── app-3a8f9b2c.js
# │ └── app-7d4e5a1b.css{{-- Blade テンプレート --}}
@vite(['resources/css/app.css', 'resources/js/app.js'])
本番ビルドの最適化
本番ビルドコマンドは以下を自動で行います:
- Minification: 空白・コメント削除、変数名短縮
- Tree shaking: 未使用コードの除去
- Code splitting: ルートやコンポーネント単位で分割ロード
- CSS 最適化: 未使用 CSS 削除(Tailwind 等)
- 画像最適化: 設定があれば
- ファイル名にハッシュ付与:
app.abc123.jsで CDN キャッシュ問題回避 - Source map: デフォルトは無効、ビルドオプションで切替
本番デプロイの流れ
- ローカルまたは CI でビルド:
npm run build - 生成されたファイルを本番サーバに転送:
- Mix:
public/js/public/css/ - Vite:
public/build/ - Vue CLI:
dist/
- Mix:
- 静的ファイルはCDN(CloudFront / Cloudflare)経由配信が高速
- 古いアセットはハッシュ付きファイル名なので残しておいても問題ない(ブラウザキャッシュされたままユーザに)
CI/CD でビルド(GitHub Actions 例)
name: Build & Deploy
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install
run: npm ci
- name: Build
run: npm run build
- name: Deploy to S3
run: aws s3 sync public/build s3://my-bucket/build --delete
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
環境別ビルド
# Vite ではモード指定可
npm run build -- --mode production
npm run build -- --mode staging
npm run build -- --mode development
# .env.production / .env.staging が読み込まれる
# キー名は VITE_ プレフィックス
ビルドサイズの分析
# Vite: rollup-plugin-visualizer 等で可視化
npm install --save-dev rollup-plugin-visualizer
# vite.config.js に追加
# import { visualizer } from 'rollup-plugin-visualizer';
# plugins: [vue(), visualizer({ open: true })]
# Mix: webpack-bundle-analyzer
npm install --save-dev webpack-bundle-analyzer
# webpack.mix.js に追加
# const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
# mix.webpackConfig({ plugins: [new BundleAnalyzerPlugin()] });
# Vue CLI 標準
npm run build -- --report
# → dist/report.html が生成される
SPA を別ホスティング
Laravel 等のバックエンドとは別に SPA だけを CDN にデプロイする構成:
- Vercel / Netlify: Vue / Nuxt をワンクリックデプロイ
- AWS S3 + CloudFront: 高い柔軟性
- GitHub Pages: 個人プロジェクト向け
- Cloudflare Pages: 高速 CDN + 自動ビルド
よくあるハマりどころ
- 本番ビルド後にエラー: minify で予約語がぶつかる場合あり → ターゲット ES バージョンを変更
- 画像 / CSS パスがズレる:
vite.config.jsのbase設定 / 公開パスを確認 - Vuex / Pinia の初期データが消える: SSR でないのにサーバ状態に依存している
- 404 リロード: SPA で history mode なら Web サーバで catch-all ルートが必要
- 環境変数が undefined:
VITE_プレフィックスが付いているか、ビルド前に .env を更新
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- インストールと設定
- クイックスタート & チュートリアル(初心者向け)
- クイックスタート & チュートリアル(中級者向け)
- ルーティング
- Bladeテンプレート(ビュー/レイアウト)
- コントローラー
- マイグレーションとテーブル定義
- データベースの設定
- Eloquentモデル (ORM)
- SQLとクエリビルダー
- バリデーション
- .envファイルの設定値へのアクセス
- 動作環境による分岐処理
- configフォルダ配下の設定値へのアクセス
- assetヘルパーを利用したpublicフォルダへのアクセス
- storageフォルダへのアクセス
- アプリケーション名の変更
- メンテナンス
- ログイン画面(認証システム)の作成
- ログインの必須化
- ログインユーザー情報の取得
- ルートの認証化
- 本番サーバーへのデプロイ方法
- 多言語化
- csrf_field
- ファイルのダウンロード
- CSVのアップロードおよび読み込み(maatwebsite/excel)
- ページタイトルの設定
- コマンド一覧
- エラー一覧
- SQLの実行ログ出力方法
- キャッシュのクリア
- Selectの結果の最初もしくは最後に任意の値を追加する方法
- ajaxでPOST通信する際の注意点
- ソーシャルログインの実装
- セッション情報の確認
- ログイン、ユーザー登録、パスワードリセット後のリダイレクト先の変更方法
- redirectやreturn viewにメッセージを付与する方法
- クッキー(cookie)の設定と取得
- クラスの再読み込み
- csrfの有効時間を変更する方法
- ViewComposerを用いてviewに共通の値を付与する方法
- View::shareを用いて共通の値を各ビューに渡す方法
- ミドルウェアを用いた処理の共通化
- Middleware内でAuth::check()などを使用する方法
- Controller以外でリダイレクトする方法
- セッションの値の取得/保存/更新/削除
- $requestの値を変更する方法
- 常時SSL化
- ページング(ページネーション)をする方法
- vue.jsとの連携
- Vue.jsと連携するSPA実行環境構築
- .envの値をvue.jsで参照する方法
- vue.jsを本番環境にリリースする方法
- could not find driver(Windows, MySQL編)
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?