Fastifyの環境をコアモジュールとCLIとDockerでそれぞれ構築する方法
Fastifyの環境を構築する方法を紹介します。コードもGit Hubに掲載するので参考にしてください。
概要
Node.js ベースの Web フレームワークである Fastify の様々な環境構築方法について解説します。
本記事では、以下3通りの方法で環境構築をする方法を紹介します。
- Fastifyのコアモジュールで環境構築する方法
- Fastify CLIを使用して、環境構築する方法
- Dockerを使用して、環境構築する方法
ここでは、以下バージョンを使用した、Fastifyの環境を構築する方法を説明します。
Fastify v4.0.0
nodejs v19.7.0
また、今回作成するコードは全て、以下に掲載しています。 https://github.com/wiblok/Fastify
※ FastifyはNode.jsで動作します。Node.jsがインストールされていない場合は、公式ウェブサイトからダウンロードしてインストールしてください。
node.js
コアモジュールを使った環境構築方法
この方法では、Fastify のコアモジュールを Require して使用します。 以下の手順に従って実行してください。
Fastify単体で環境を構築するには、以下の前提条件を満たす必要があります
プロジェクトディレクトリの作成
まず、Fastifyプロジェクトを作成するために新しいディレクトリを作成します。コマンドラインで以下のコマンドを実行してください
mkdir fastify-core-project
プロジェクトディレクトリへの移動
プロジェクトディレクトリに移動します。以下のコマンドを実行してください:
cd fastify-core-project
移動後、プロジェクトのルートディレクトリに移動します。
プロジェクトの初期化
次に、作成したディレクトリでプロジェクトを初期化します。以下のコマンドを実行して、package.json
ファイルを作成します
npm init -y
このコマンドにより、デフォルトの設定でpackage.json
が生成されます。
Fastifyのインストール
Fastifyパッケージをインストールします。以下のコマンドを実行してください
npm install fastify@4.0.0
これにより、Fastifyがプロジェクトに追加されます。
アプリケーションの作成
Fastifyアプリケーションを作成します。プロジェクトディレクトリ内に新しいファイル(例: app.js
)を作成し、以下のコードを追加してください
const fastify = require('fastify');
const app = fastify();
app.get('/', (request, reply) => {
reply.send('Hello, Fastify!');
});
app.listen({ port: 3000 }, (err) => {
if (err) {
console.error('サーバーの起動中にエラーが発生しました:', err);
process.exit(1);
}
console.log('サーバーがポート3000で起動しました');
});
上記の例では、Fastifyアプリケーションの基本的な構造を示しています。app.get()
メソッドを使用してルートパスに対するハンドラーを定義し、レスポンスとしてHello, Fastify!
を返します。
最終的に以下のようなディレクトリ構造になります。
fastify-core-project
├── node_modules
│ └── (依存関係のパッケージ)
├── app.js
├── package-lock.json
└── package.json
サーバーの起動
最後に、Fastifyサーバーを起動します。以下のコマンドを実行してください
node app.js
サーバーが正常に起動すると、コンソールに「サーバーがポート3000で起動しました」と表示されます。 ブラウザでhttp://localhost:3000にアクセスして、Fastifyアプリケーションが正常に動作していることを確認してください。
CLIをを使った環境構築する方法
Fastifyは、Fastify CLIを使用して環境を構築することもできます。 Fastify CLIは、Fastifyプロジェクトを簡単に作成するためのコマンドラインツールです。 この記事では、Fastify CLIを使用した環境構築手順を詳しく説明します。
Fastify CLIのインストール
Fastify CLIをグローバルにインストールします。以下のコマンドを実行してください:
npm install -g fastify-cli
これにより、Fastify CLIがシステムにインストールされます。
プロジェクトの作成
Fastifyプロジェクトを作成するために、以下のコマンドを実行してください:
fastify generate fastify-cli-project
上記のコマンドでは、fastify-cli-project
という名前のプロジェクトディレクトリが作成されます。ディレクトリ名は任意のものに変更できます。
プロジェクトディレクトリへの移動
プロジェクトディレクトリに移動します。以下のコマンドを実行してください:
cd fastify-cli-project
移動後、プロジェクトのルートディレクトリに移動します。
依存関係のインストール
プロジェクトのルートディレクトリで、依存関係をインストールします。以下のコマンドを実行してください:
npm install
これにより、Fastifyおよび関連するパッケージがプロジェクトに追加されます。 最終的に以下のようなディレクトリ構造になります。
fastify-cli-project
├── node_modules
│ └── (依存関係のパッケージ)
├── plugins
│ ├── README.md
| ├── sensible.js
| └── support.js
├── routes
| ├── example
| | └── index.js
| ├── README.md
│ └── root.js
├── test
│ ├── plugins
| | └── support.test.js
| ├── routes
| | ├── example.test.js
| | └── root.test.js
| └── helpers.js
├── .gitignore
├── app.js
├── package.json
├── package-lock.json
└── README.md
サーバーの起動
Fastifyサーバーを起動します。以下のコマンドを実行してください:
npm start
サーバーが正常に起動すると、コンソールに「サーバーがポート3000で起動しました」と表示されます。 ブラウザでhttp://localhost:3000にアクセスして、Fastifyアプリケーションが正常に動作していることを確認してください。
Fastify CLIを使用すると、Fastifyプロジェクトの環境構築が簡単になります。Fastify CLIをインストールし、fastify generate
コマンドを使用してプロジェクトを作成し、依存関係をインストールするだけで、素早くFastifyアプリケーションの開発を始めることができます。
Dockerを使った環境構築する方法
まずはじめに、Dockerをインストールしてください。公式のDockerウェブサイトから、対応するオペレーティングシステムに合わせたDockerのインストーラーをダウンロードし、インストールを行ってください。
プロジェクトディレクトリの作成
まず、Fastifyプロジェクトを作成するために新しいディレクトリを作成します。コマンドラインで以下のコマンドを実行してください
mkdir fastify-docker-project
プロジェクトディレクトリへの移動
プロジェクトディレクトリに移動します。以下のコマンドを実行してください:
cd fastify-docker-project
移動後、プロジェクトのルートディレクトリに移動します。
プロジェクトの初期化
Fastifyプロジェクトを初期化するために、以下のコマンドを実行します。
npm init -y
必要なパッケージのインストール
FastifyとDockerイメージの作成に必要なパッケージをインストールします。
npm install fastify@4.0.0
Dockerfileの作成
FastifyアプリケーションをDockerイメージとしてビルドするために、プロジェクトフォルダ内にDockerfile
という名前のファイルを作成し、以下の内容を追加します。
FROM node:19.7.0-alpine
WORKDIR /app
COPY package*.json ./
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
アプリケーションの作成
Fastifyアプリケーションを作成します。プロジェクトディレクトリ内に新しいファイル(例: app.js
)を作成し、以下のコードを追加してください
Dcokerでは、全てのホストから接続が出来るように0.0.0.0でリッスンします。
const fastify = require('fastify');
const app = fastify();
app.get('/', (request, reply) => {
reply.send('Hello, Fastify!');
});
app.listen({ port: 3000, host: "0.0.0.0" }, (err, address) => {
if (err) {
console.error('サーバーの起動中にエラーが発生しました:', err);
process.exit(1);
}
console.log('サーバーがポート3000で起動しました');
});
Dockerイメージのビルド
以下のコマンドを使用して、Dockerイメージをビルドします。
docker build -t fastify-docker-project .
Dockerコンテナの実行
ビルドしたDockerイメージからDockerコンテナを実行します。
docker run -p 3000:3000 -d fastify-docker-project
これにより、FastifyアプリケーションがDockerコンテナ内で実行され、ホストのポート3000にマッピングされます。ブラウザやAPIテストツールなどから http://localhost:3000 にアクセスすることでFastifyアプリケーションにアクセスできます。
以上が、Dockerを使用してFastifyアプリケーションを環境構築する手順です。Dockerを活用することで、環境構築の手間を減らし、開発プロセスをスムーズにすることができます。
注意: ホストのファイアウォールやネットワーク設定によっては、ポート3000へのアクセスが制限されている場合があります。必要に応じて、ファイアウォールやネットワーク設定を調整してください。