0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Vercel を用いたウェブサイトのデプロイ(メモ中心?)

Last updated at Posted at 2025-12-05

対象

  • Vercel 初心者
  • 初デプロイを考えている人

おことわり

この記事はNext.js, TailwindCSS等を使って初めてプロジェクトを作ってみた時の記録です。
何回かやり方を忘れていたのでメモにしていて未公開だったので、一部を改変してこの機会に公開することにしました。

個人プロジェクト作成フロー

1.GitHubリポジトリ作成

リポジトリ名

例)portfolio

Public or Private

例)Public:リポジトリはだれでも見ることができる

README.md の作成

# アプリ概要
# 制作のきっかけ
# 技術選定
# ページ構成
# 参考
# 備考

2.プロジェクト初期化

# Next.js プロジェクト作成
npx create-next-app@latest portfolio-site
cd portfolio-site

# Tailwind CSS 設定
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init

# 必要な依存パッケージインストール(ダークモード/フォーム向け)
npm install react-hook-form axios

3.Tailwind 設定

tailwind.config.js

module.exports = {
  content: ["./pages/**/*.{js,ts,jsx,tsx}", "./components/**/*.{js,ts,jsx,tsx}"],
  darkMode: 'class', // ダークモード設定
  theme: {
    extend: {},
  },
  plugins: [],
}

4.Git 初期設定 & Push

git init
git add .
git commit -m "Initial commit for portfolio"
git branch -M main
git remote add origin <GitHubリポジトリURL>
git push -u origin main

5.Vercel デプロイ

  • Vercel にログイン
  • GitHub リポジトリ連携
  • 自動ビルド & デプロイ設定

6.Cloudflare DNS設定

  • Cloudflareにドメイン登録
  • VercelのエイリアスをCloudflare側に設定

プロジェクト初期設定

✔ Would you like to use TypeScript? … No / Yes
✔ Would you like to use ESLint? … No / Yes
✔ Would you like to use Tailwind CSS? … No / Yes
✔ Would you like your code inside a `src/` directory? … No / Yes
✔ Would you like to use App Router? (recommended) … No / Yes
✔ Would you like to use Turbopack for `next dev`? … No / Yes
✔ Would you like to customize the import alias (`@/*` by default)? … No / Yes

Would you like to use TypeScript?

  • Yes (おすすめ)
    型安全でエラーを早期に検知可能
    大規模・保守性が高いコードを書くのに便利
  • No (既存のJavaScriptだけで進めたい場合)

Would you like to use ESLint?

  • Yes (おすすめ)
    コード品質を維持しやすく、バグを減らす
    チーム開発でも役立つ
  • No (気軽に進めたい場合)

Would you like to use Tailwind CSS?

  • Yes(強くおすすめ)
    開発効率が向上し、ダークモードも簡単に実装可能

Would you like your code inside a src/ directory?

  • Yes (おすすめ)
    フォルダ構造が整い、プロジェクトが大きくなった際に整理しやすい
  • No (小規模プロジェクトなら問題なし)

Would you like to use App Router? (recommended)

  • Yes (おすすめ)
    Next.js 13以降の新しいルーティング方式
    サーバーコンポーネントがデフォルトで有効
    ページとAPIが統一的に扱える (app / ディレクトリ)
  • No
    従来の pages / ディレクトリ方式
    旧バージョンとの互換性あり

Would you like to use Turbopack for next dev?

  • Yes (試してみる価値あり)
    Webpack に代わる高速な開発ビルドツール
    ビルド速度が速い(大規模アプリで特に有効)
    ただし、現時点ではまだベータ版
  • No (安定を重視するならおすすめ)
    標準の Webpack を使用
    信頼性が高い

Would you like to customize the import alias (@/* by default)?

  • No (おすすめ)
    デフォルトの @/ をそのまま使用
    シンプルで他のプロジェクトとの互換性が高い
    Next.js標準で推奨される方法
  • Yes
    独自のエイリアス名を使う場合
    たとえば ~/components や @root/ などにカスタマイズ可能

コンフリクト対策は必至

コンフリクトが起こる要因

  • リモートリポジトリ(GitHub上など)に既にコミットが存在する場合
  • ローカルリポジトリの履歴とリモートリポジトリの履歴が異なる場合

解決方法

強制プッシュ

git push -u origin main --force
  • リモートの内容を無視して、ローカルを完全に上書き
  • 注意: 他の開発者がいる場合は慎重に

リモート内容をマージ

git fetch origin
git pull origin main --rebase
git push -u origin main
  • rebaseによって履歴を整理しながらローカルとリモートを統合
  • 推奨: 履歴を綺麗に保てる

対策のフロー

1.リモートの内容を確認

git remote show origin

2.差分があったとき

git pull origin <ブランチ名>

ローカル修正後にプッシュ

  • ブランチ名が一致するとき
git push origin <ブランチ名>
  • ブランチ名が異なるとき
git push origin <ローカルブランチ>:<リモートブランチ>

独自ドメイン未取得時の流れ

ドメイン取得(任意)

  • Google Domains: 分かりやすい管理画面
  • お名前.com: 日本の人気サービス
  • Namecheap: 海外でリーズナブル

ちなみに

  • .com, .net, .dev などは無難で人気
  • .tech や .io は技術系ポートフォリオにおすすめ

Cloudflare に登録

  • Cloudflare にアクセスしてアカウント作成
  • Add a Site から取得したドメインを追加
  • Cloudflareが提供するネームサーバーに変更するよう指示されるので、ドメイン管理サービスで設定

Vercel側でエイリアス設定

  • Vercel ダッシュボードでプロジェクトを開く
  • Settings > Domains へ移動
  • ドメインを追加(例: example.com)

CloudflareでDNS設定

  • DNS セクションに移動
  • 以下のレコードを追加

未取得段階でテストする方法

  • Vercel のデフォルトドメインを使う
    your-project-name.vercel.app
  • ドメイン取得前に十分テスト可能

例:ポートフォリオの作成

ディレクトリ構成案

src/
├── app/
│   ├── page.js          # ホームページ
│   ├── about/            # 自己紹介ページ
│   ├── projects/         # プロジェクト一覧ページ
│   ├── contact/          # コンタクトフォーム
│   └── components/       # 再利用可能なUIコンポーネント
├── styles/               # カスタムスタイル
├── assets/               # 画像やアイコン

各セクションのアイディア

  • トップページ ( page.js )

    • 自己紹介キャッチコピー
    • ポートフォリオリンクへのナビゲーション
  • 自己紹介 ( /about )

    • 簡単な経歴やスキルセット一覧
    • 興味のある分野
  • プロジェクト一覧 ( /projects )

    • プロジェクトの画像、リンク、使用技術などをカード表示
    • フィルター機能(技術ごとの絞り込み)
  • コンタクトフォーム ( /contact )

    • 名前、メール、メッセージ入力フィールド
    • 送信確認機能

※この記事は過去の記事を軽く見直して再編したものです。間違いがあれば優しくご指摘お願いします。

2025.04 初期作成
2025.12 更新(確認)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?