290 lines
8.9 KiB
Markdown
290 lines
8.9 KiB
Markdown
---
|
||
Nexty で SaaS を迅速に立ち上げよう - ビジュアル料金ダッシュボード、AI プレイグラウンド、エンタープライズレベル CMS を備えた唯一の Next.js ボイラープレート。多言語対応、認証、決済、メール機能、SEO 最適化も完備。
|
||
|
||
[Nexty.dev を今すぐ試す](https://nexty.dev?utm_source=github-nextjs-starter)
|
||
---
|
||
|
||
[<img src="/public/try-nexty.webp">](https://nexty.dev?utm_source=github-nextjs-starter)
|
||
|
||
🌍 *[English](README.md) ∙ [简体中文](README_zh.md) ∙ [日本語](README_ja.md)*
|
||
|
||
# Next Forge - 多言語対応 Next.js 16 スターター
|
||
|
||
グローバル対応のウェブサイトを素早く構築するための、機能豊富なNext.js 15多言語スターターテンプレートです。
|
||
|
||
- [👉 ソースコード](https://github.com/weijunext/nextjs-starter)
|
||
- [👉 デモサイト](https://nextforge.dev/)
|
||
|
||
**🚀 多機能で使いやすいフルスタックの起動テンプレートをお探しですか? ぜひ、当社の[アドバンス版](https://nexty.dev)をお試しください。**
|
||
|
||
## ✨ 主な機能
|
||
|
||
- 🌐 多言語対応(英語・中国語・日本語)
|
||
- 🎨 Tailwind CSSによるモダンなUI
|
||
- 🌙 ダーク/ライトテーマ切り替え
|
||
- 📱 レスポンシブデザイン
|
||
- 📝 MDXブログシステム
|
||
- 🔍 SEO最適化
|
||
- 📊 アナリティクスツール統合
|
||
- Google Analytics
|
||
- Baidu Analytics
|
||
- Google Adsense
|
||
- Vercel Analytics
|
||
|
||
## 🚀 クイックスタート
|
||
|
||
### 必要な環境
|
||
|
||
- Node.js 20.9 以上
|
||
- pnpm 9.0 以上(推奨)
|
||
|
||
> **注意**: プロジェクトには `packageManager` フィールドが設定されており、最適な体験のために pnpm の使用を推奨しています。
|
||
|
||
### インストール手順
|
||
|
||
1. リポジトリのクローン:
|
||
```bash
|
||
git clone https://github.com/weijunext/nextjs-starter.git
|
||
cd nextjs-starter
|
||
```
|
||
|
||
2. Corepack の有効化(推奨):
|
||
```bash
|
||
corepack enable
|
||
```
|
||
|
||
3. 依存関係のインストール:
|
||
```bash
|
||
pnpm install
|
||
# または他のパッケージマネージャーを使用
|
||
npm install
|
||
yarn
|
||
```
|
||
|
||
4. 環境変数の設定:
|
||
```bash
|
||
cp .env.example .env
|
||
```
|
||
|
||
5. 開発サーバーの起動:
|
||
```bash
|
||
pnpm dev
|
||
# または npm run dev
|
||
```
|
||
|
||
http://localhost:3000 にアクセスして確認できます。
|
||
|
||
## ⚙️ 設定方法
|
||
|
||
1. 基本設定
|
||
- `config/site.ts`でウェブサイト情報を編集
|
||
- `public/`内のアイコンとロゴを更新
|
||
- `app/sitemap.ts`でサイトマップを設定
|
||
- `app/robots.ts`でrobots.txtを更新
|
||
|
||
2. 多言語設定
|
||
- `i18n/messages/`内の言語ファイルを追加/編集
|
||
- `i18n/routing.ts`でサポートする言語を設定
|
||
- `middleware.ts`で多言語ルーティングを設定
|
||
- `app/[locale]/`配下にページを作成
|
||
- Next.jsデフォルトの代わりに`i18n/routing.ts`の`Link`コンポーネントを使用
|
||
|
||
## 📝 コンテンツ管理
|
||
|
||
### ブログ投稿
|
||
`blog/[locale]`にMDXファイルを以下のフォーマットで作成:
|
||
|
||
```markdown
|
||
---
|
||
title: 投稿タイトル
|
||
description: 投稿の説明
|
||
image: /image.png
|
||
slug: /url-path
|
||
tags: tag1,tag2
|
||
date: 2025-02-20
|
||
visible: published
|
||
pin: true
|
||
---
|
||
|
||
投稿内容...
|
||
```
|
||
|
||
対応フィールドについては`types/blog.ts`を参照してください。
|
||
|
||
### 静的ページ
|
||
`content/[page]/[locale].mdx`で静的ページのコンテンツを管理します。
|
||
|
||
## 🔍 SEO最適化
|
||
|
||
包括的なSEO機能を搭載:
|
||
- サーバーサイドレンダリングと静的生成
|
||
- sitemap.xml自動生成
|
||
- robots.txt設定
|
||
- 最適化されたメタデータ
|
||
- OGP対応
|
||
- 多言語SEOサポート
|
||
|
||
## 📊 アナリティクス
|
||
|
||
`.env`にIDを追加して有効化:
|
||
```
|
||
NEXT_PUBLIC_GOOGLE_ANALYTICS=
|
||
NEXT_PUBLIC_BAIDU_TONGJI=
|
||
NEXT_PUBLIC_GOOGLE_ADSENSE=
|
||
```
|
||
|
||
## 📁 プロジェクト構成
|
||
|
||
```
|
||
nextjs-starter/
|
||
├── app/ # アプリディレクトリ
|
||
│ ├── [locale]/ # 多言語ルート
|
||
│ │ ├── about/ # Aboutページ
|
||
│ │ ├── blog/ # ブログページ
|
||
│ │ └── ... # その他のページ
|
||
│ ├── api/ # APIルート
|
||
│ └── globals/ # グローバルコンポーネント
|
||
├── blog/ # ブログコンテンツ(MDX)
|
||
│ ├── en/ # 英語ブログ
|
||
│ ├── ja/ # 日本語ブログ
|
||
│ └── zh/ # 中国語ブログ
|
||
├── components/ # 再利用可能なコンポーネント
|
||
│ ├── ui/ # ベースUIコンポーネント
|
||
│ ├── header/ # ヘッダーコンポーネント
|
||
│ ├── footer/ # フッターコンポーネント
|
||
│ └── ... # その他のコンポーネント
|
||
├── config/ # 設定ファイル
|
||
├── content/ # 静的コンテンツ(MDX)
|
||
├── i18n/ # 国際化設定
|
||
│ ├── messages/ # 翻訳ファイル
|
||
│ ├── routing.ts # ルーティング設定
|
||
│ └── request.ts # リクエスト設定
|
||
├── lib/ # ユーティリティ関数
|
||
├── public/ # 静的アセット
|
||
└── types/ # 型定義
|
||
```
|
||
|
||
## 🛠️ 技術スタック
|
||
|
||
- **フレームワーク**: Next.js 16 (App Router)
|
||
- **言語**: TypeScript
|
||
- **スタイリング**: Tailwind CSS + Shadcn/ui
|
||
- **国際化**: next-intl
|
||
- **コンテンツ**: MDX
|
||
- **状態管理**: Zustand
|
||
- **デプロイ**: Vercel
|
||
- **パッケージマネージャー**: pnpm(推奨)
|
||
|
||
## 🚀 デプロイ
|
||
|
||
### ワンクリックデプロイ
|
||
|
||
[](https://vercel.com/new/clone?repository-url=https://github.com/weijunext/nextjs-starter&project-name=&repository-name=nextjs-starter&demo-title=NextjsStarter&demo-description=Nextjs%2015%20starter.&demo-url=https://nextforge.dev&demo-image=https://nextforge.dev/og.png)
|
||
|
||
### Vercelへの手動デプロイ
|
||
|
||
1. GitHubにコードをプッシュ
|
||
2. Vercelでプロジェクトをインポート
|
||
3. 環境変数を設定
|
||
4. デプロイ
|
||
|
||
### その他のプラットフォーム
|
||
|
||
```bash
|
||
# プロダクション用ビルド
|
||
pnpm build
|
||
|
||
# プロダクションサーバーを起動
|
||
pnpm start
|
||
```
|
||
|
||
## 💡 開発のベストプラクティス
|
||
|
||
### パッケージマネージャー使用
|
||
|
||
- プロジェクトは `packageManager: "pnpm@10.12.4"` で設定済み
|
||
- Corepack を有効化: `corepack enable`
|
||
- チームメンバーは同じ pnpm バージョンを使用すべき
|
||
|
||
### コード品質
|
||
|
||
```bash
|
||
# コードリント
|
||
pnpm lint
|
||
|
||
# 型チェック
|
||
pnpm type-check
|
||
```
|
||
|
||
### 多言語開発
|
||
|
||
1. 新しい言語サポートの追加:
|
||
- `i18n/messages/` に新しい言語ファイルを追加
|
||
- `i18n/routing.ts` 設定を更新
|
||
- `blog/` と `content/` に対応する言語ディレクトリを作成
|
||
|
||
2. 翻訳の使用:
|
||
```tsx
|
||
import { useTranslations } from 'next-intl';
|
||
|
||
export default function MyComponent() {
|
||
const t = useTranslations('namespace');
|
||
return <h1>{t('title')}</h1>;
|
||
}
|
||
```
|
||
|
||
## 🔧 トラブルシューティング
|
||
|
||
### よくある問題
|
||
|
||
**1. パッケージマネージャーのバージョン不一致**
|
||
```bash
|
||
# node_modules と lockfile を削除
|
||
rm -rf node_modules pnpm-lock.yaml
|
||
# 再インストール
|
||
pnpm install
|
||
```
|
||
|
||
**2. MDXファイルが表示されない**
|
||
- ファイルパスが正しいか確認
|
||
- frontmatter のフォーマットが正しいか確認
|
||
- `visible` フィールドが `published` に設定されているか確認
|
||
|
||
**3. 多言語ルーティングの問題**
|
||
- `i18n/routing.ts` の `Link` コンポーネントを使用
|
||
- `middleware.ts` の設定を確認
|
||
|
||
**4. スタイルが効かない**
|
||
- Tailwind CSS のクラス名が正しいか確認
|
||
- 開発サーバーの再起動を試す
|
||
|
||
### 環境変数の問題
|
||
|
||
`.env` ファイルに必要な設定が含まれていることを確認:
|
||
```bash
|
||
# サンプル設定をコピー
|
||
cp .env.example .env
|
||
# 必要に応じて設定を変更
|
||
```
|
||
|
||
## 📄 ライセンス
|
||
|
||
MIT
|
||
|
||
## 🤝 コントリビューション
|
||
|
||
Issue、PRは大歓迎です!
|
||
|
||
## 作者について
|
||
|
||
Next.jsのフルスタックスペシャリストとして、プロジェクト開発、パフォーマンス最適化、SEO改善のエキスパートサービスを提供しています。
|
||
|
||
コンサルティングやトレーニングについては、 weijunext@gmail.com までご連絡ください。
|
||
|
||
- [Github](https://github.com/weijunext)
|
||
- [Bento](https://bento.me/weijunext)
|
||
- [Twitter/X](https://twitter.com/judewei_dev)
|
||
|
||
<a href="https://www.buymeacoffee.com/weijunext" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||
|
||
[](https://ko-fi.com/G2G6TWWMG) |