Node.jsでJavaScript/TypeScriptを使ったサーバー開発基礎

先生

フロントエンドエンジニアよ、Node.jsでサーバーサイドも制覇せよ!JavaScript/TypeScriptで始めるサーバー開発の基礎を徹底解説!

Node.jsとは?サーバーサイドJavaScriptの魅力

Node.jsは、JavaScriptをサーバーサイドで実行できるプラットフォームです。Google ChromeのV8 JavaScriptエンジンをベースにしており、高速でスケーラブルなネットワークアプリケーションを構築できます。JavaScriptの知識を活かせるため、フロントエンドエンジニアがサーバーサイド開発に参入しやすいのが大きな魅力です。

Node.jsの非同期イベント駆動型アーキテクチャは、リアルタイムアプリケーション、APIサーバー、ストリーミングデータ処理などに特に適しています。npm(Node Package Manager)という巨大なパッケージエコシステムがあり、豊富なライブラリやフレームワークを利用できるのも強みです。

Node.jsのインストールと環境構築

Node.jsを始めるには、まずNode.jsをインストールする必要があります。 公式サイトから、お使いのOSに合ったインストーラをダウンロードして実行してください。

インストール後、ターミナル(またはコマンドプロンプト)でnode -vnpm -vを実行し、バージョンが表示されればインストールは成功です。npmはNode.jsのパッケージマネージャで、ライブラリのインストールや管理に使います。

node -v
npm -v

JavaScriptでシンプルなHTTPサーバーを作る

Node.jsを使って簡単なHTTPサーバーをJavaScriptで作成してみましょう。

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello, World!\n');
});

server.listen(port, hostname, () => {
  console.log(Server running at http://${hostname}:${port}/);
});

上記のコードをserver.jsという名前で保存し、ターミナルでnode server.jsを実行します。ブラウザでhttp://localhost:3000にアクセスすると、「Hello, World!」と表示されます。

node server.js

TypeScriptでより安全なサーバー開発

TypeScriptは、JavaScriptに静的型付けを加えた言語です。コンパイル時に型チェックを行うため、実行時エラーを減らし、より安全なサーバー開発が可能です。

TypeScriptを使うには、まずTypeScriptをインストールする必要があります。

npm install -g typescript

次に、TypeScriptコンパイラを使ってJavaScriptに変換します。

let message: string = 'Hello, TypeScript!';
console.log(message);
bash:tsc your_file.ts
node your_file.js

Node.jsでTypeScriptを使用するためには、いくつかの方法があります。例えば、ts-nodeを使用すると、TypeScriptファイルを直接実行できます。

npm install -g ts-node
ts-node your_file.ts

Express.jsフレームワークで効率的な開発

Express.jsは、Node.jsのための軽量で柔軟なWebアプリケーションフレームワークです。ルーティング、ミドルウェア、テンプレートエンジンなど、Webアプリケーション開発に必要な機能を提供し、開発効率を大幅に向上させます。

Express.jsを使うには、まずプロジェクトを作成し、Express.jsをインストールします。

mkdir my-express-app
cd my-express-app
npm init -y
npm install express

簡単なExpress.jsのサーバーは以下のようになります。

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Hello Express.js!');
});

app.listen(port, () => {
  console.log(Example app listening at http://localhost:${port});
});

上記のコードをapp.jsという名前で保存し、ターミナルでnode app.jsを実行します。ブラウザでhttp://localhost:3000にアクセスすると、「Hello Express.js!」と表示されます。

node app.js

参考リンク

まとめ

Node.jsは、JavaScriptを使ったサーバーサイド開発に最適なプラットフォームです。TypeScriptやExpress.jsなどのツールと組み合わせることで、より効率的で安全なWebアプリケーションを開発できます。この記事を参考に、Node.jsでのサーバー開発に挑戦してみてください。