
フロントエンドエンジニアよ、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 -v
とnpm -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でのサーバー開発に挑戦してみてください。