Node.js を使用したカスタム バックエンドの構築: ステップバイステップ ガイド

Barbara Streisand
リリース: 2024-10-18 22:43:02
オリジナル
842 人が閲覧しました

Building a Custom Backend with Node.js: A Step-by-Step Guide

Node.js でカスタム バックエンドを作成するには、Node.js 環境のセットアップから API の構築とデプロイまで、いくつかの手順が必要です。以下は、Node.js を使用してカスタム バックエンドを作成するための詳細なステップバイステップ ガイドです:

ステップ 1: 開発環境をセットアップする

コーディングを開始する前に、次のものをマシンにインストールする必要があります:

  • Node.js: サーバー側で JavaScript を実行するためのランタイム。これは、nodejs.org からダウンロードできます。
  • NPM (ノード パッケージ マネージャー): Node.js にバンドルされています。これはライブラリのインストールと管理に使用します。

Node.js と NPM がインストールされているかどうかを確認するには、次のコマンドを実行します。

node -v
npm -v
ログイン後にコピー
ログイン後にコピー

インストールされている場合は、バージョン番号が表示されます。そうでない場合は、Node.js をインストールします。

ステップ 2: 新しいプロジェクトを作成する

  1. プロジェクト フォルダーを作成します:
mkdir my-custom-backend
cd my-custom-backend
ログイン後にコピー
ログイン後にコピー
  1. package.json ファイルを初期化します:
npm init -y
ログイン後にコピー
ログイン後にコピー

このコマンドは、依存関係を管理する基本的な package.json ファイルを作成します。

ステップ 3: 必要なパッケージをインストールする

バックエンドを構築するには、いくつかのパッケージをインストールする必要があります。

  • Express: Web およびモバイル アプリケーションを構築するための堅牢な機能セットを提供する、最小限で柔軟な Node.js Web アプリケーション フレームワーク。
  • Nodemon: ディレクトリ内のファイル変更が検出されたときにサーバーを自動的に再起動することで、Node.js アプリケーションの開発を支援するツール。
  • Body-parser: JSON および URL エンコードされたフォーム データを処理するミドルウェア。
  • dotenv: 環境変数を管理します。

次のコマンドを実行して、これらの依存関係をインストールします。

npm install express body-parser dotenv
npm install --save-dev nodemon
ログイン後にコピー
ログイン後にコピー
  • Express: HTTP リクエストを処理するコア フレームワーク。
  • body-parser: ハンドラーの前にミドルウェアで受信リクエストを解析するためのミドルウェア。req.body.
  • からアクセスできます。
  • dotenv: 環境変数を .env ファイルから process.env.
  • にロードするには
  • nodemon: コードが変更されたときにサーバーを自動的に再起動します (開発目的)。

ステップ 4: サーバー ファイルを作成する

プロジェクトのルートに、server.js というファイルを作成します。このファイルは、Express サーバーのセットアップを処理します。

touch server.js
ログイン後にコピー
ログイン後にコピー

server.js 内に次のコードを追加します:

// Import necessary modules
const express = require('express');
const bodyParser = require('body-parser');
const dotenv = require('dotenv');

// Load environment variables
dotenv.config();

// Initialize the app
const app = express();

// Middleware to parse JSON data
app.use(bodyParser.json());

// Define a basic route
app.get('/', (req, res) => {
  res.send('Welcome to my custom Node.js backend!');
});

// Start the server
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server running on http://localhost:${PORT}`);
});
ログイン後にコピー
ログイン後にコピー

このファイルは、リクエストをリッスンし、単純なメッセージで応答する Express サーバーをセットアップします。

ステップ 5: サーバーを実行する

サーバーを実行するには、node コマンドを使用できます。

node -v
npm -v
ログイン後にコピー
ログイン後にコピー

ただし、開発の場合は、変更を加えたときにサーバーを自動的に再起動するために、nodemon を使用することをお勧めします。

mkdir my-custom-backend
cd my-custom-backend
ログイン後にコピー
ログイン後にコピー

次に、ブラウザで http://localhost:3000 にアクセスします。以下が表示されます:

npm init -y
ログイン後にコピー
ログイン後にコピー

ステップ 6: ルートとハンドラーを定義する

次に、バックエンドのカスタム ルートをいくつか追加します。たとえば、ユーザー情報を処理する API を作成できます。

npm install express body-parser dotenv
npm install --save-dev nodemon
ログイン後にコピー
ログイン後にコピー
  • GET /users: すべてのユーザーを取得します。
  • GET /users/:id: ID によってユーザーを取得します。
  • POST /users: 新しいユーザーを追加します。
  • DELETE /users/:id: ID に基づいてユーザーを削除します。

ステップ 7: 環境変数を使用する

dotenv パッケージを使用して環境変数を設定できます。ルート ディレクトリに .env ファイルを作成します:

touch server.js
ログイン後にコピー
ログイン後にコピー

.env 内では、次のような変数を定義できます。

// Import necessary modules
const express = require('express');
const bodyParser = require('body-parser');
const dotenv = require('dotenv');

// Load environment variables
dotenv.config();

// Initialize the app
const app = express();

// Middleware to parse JSON data
app.use(bodyParser.json());

// Define a basic route
app.get('/', (req, res) => {
  res.send('Welcome to my custom Node.js backend!');
});

// Start the server
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server running on http://localhost:${PORT}`);
});
ログイン後にコピー
ログイン後にコピー

この変数は、server.js でポートを動的に設定するために使用されます:

node server.js
ログイン後にコピー

ステップ 8: エラー処理とミドルウェアを追加する

Express のミドルウェアは、アプリケーションの要求/応答サイクル内の要求オブジェクト (req)、応答オブジェクト (res)、および次のミドルウェア関数にアクセスできる関数です。

エラー処理用のカスタムミドルウェアを作成できます:

npx nodemon server.js
ログイン後にコピー

これは、アプリケーション内の未処理のエラーを捕捉し、500 ステータス コードで応答します。

ステップ 9: プロジェクトを構成する (オプション)

アプリケーションが成長するにつれて、アプリケーションを適切に整理することをお勧めします。

Welcome to my custom Node.js backend!
ログイン後にコピー
  • controllers/: API ルートのロジックを処理します。
  • routes/: エンドポイントを定義し、それらをコントローラーに接続します。
  • models/: データ構造を処理します。将来的にはデータベースを使用する可能性があります。

ステップ 10: データベースに接続する (オプション)

データを永続化したい場合は、バックエンドをデータベースに接続できます。例:

  • MongoDB: mongoose を使用して MongoDB データベースと対話します。
  • MySQL/PostgreSQL: Sequelize または pg を使用して SQL データベースと対話します。

MongoDB の場合は、mongoose をインストールします:

// Example user data
let users = [
  { id: 1, name: 'John Doe' },
  { id: 2, name: 'Jane Doe' }
];

// Route to get all users
app.get('/users', (req, res) => {
  res.json(users);
});

// Route to get a user by ID
app.get('/users/:id', (req, res) => {
  const userId = parseInt(req.params.id);
  const user = users.find((u) => u.id === userId);

  if (user) {
    res.json(user);
  } else {
    res.status(404).send('User not found');
  }
});

// Route to create a new user
app.post('/users', (req, res) => {
  const newUser = {
    id: users.length + 1,
    name: req.body.name
  };
  users.push(newUser);
  res.status(201).json(newUser);
});

// Route to delete a user by ID
app.delete('/users/:id', (req, res) => {
  const userId = parseInt(req.params.id);
  users = users.filter((u) => u.id !== userId);
  res.status(204).send();
});
ログイン後にコピー

server.js 内:

touch .env
ログイン後にコピー

ステップ 11: Postman または Curl を使用して API をテストする

API をテストするには、Postman またはcurl を使用できます。

PORT=3000
ログイン後にコピー

または、リクエストを作成し、応答を表示するための GUI を提供する Postman をインストールすることもできます。

ステップ 12: バックエンドをデプロイする

バックエンドの準備ができたら、次のようなクラウド プラットフォームを使用してバックエンドをデプロイできます。

  • Heraku: 迅速な導入用。
  • AWS EC2: サーバーをより詳細に制御します。
  • DigitalOcean: シンプルなクラウド ホスティング用。

展開の場合、ポートが動的であり、API キーなどの機密情報が環境変数に保存されていることを確認してください。

結論

これらの手順に従うことで、Node.js を使用して基本的なカスタム バックエンドを構築できるようになります。認証の追加、データベースへの接続、WebSocket とのリアルタイム通信などの高度な機能の処理によって、これを拡張し続けることができます。

以上がNode.js を使用したカスタム バックエンドの構築: ステップバイステップ ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート