Node.jsの基本:始め方と重要なコンセプト

ノート Node.js
Minimal Office desk table top view with open notebook blank pages, Keyboard computer, mouse, coffee cup on a white table with copy space, White color workplace composition, flat lay
ホーム » Node.js » Node.jsの基本:始め方と重要なコンセプト

導入

Node.jsとは、JavaScriptをブラウザの外で実行できるようにするオープンソースのランタイム環境です。サーバーサイド開発に適しており、非同期IOをベースにしたイベント駆動のパラダイムを採用しています。

Node.jsのインストール

Node.jsの公式ウェブサイトからインストーラをダウンロードするか、パッケージマネージャを使用してインストールできます。以下にLinux(Ubuntu)でのNode.jsインストール手順を示します。

sudo apt update
sudo apt install nodejs

インストールが成功したかどうかを確認するには、コマンドラインに次のコマンドを入力します。

node -v

これで、バージョン番号が表示されれば、Node.jsが正しくインストールされています。

Hello Worldプログラム

以下のコードがNode.jsを使った最も基本的な”Hello, World!”プログラムです。

console.log("Hello, World!");

これをhello.jsというファイルに保存し、node hello.jsというコマンドで実行すると、”Hello, World!”と表示されます。

非同期処理とコールバック

Node.jsの鍵となる特徴の一つは非同期IOとコールバックの使用です。これにより、プログラムはI/O操作が完了するのを待たずに他の作業を進めることができます。以下のコードは、非同期ファイル読み取りの一例です。

const fs = require('fs');

fs.readFile('/path/to/file', 'utf8', function(err, data){
    if (err) throw err;
    console.log(data);
});

readFile関数は非同期で動作し、ファイルの読み取りが完了したらコールバック関数を呼び出します。

イベント駆動プログラミング

Node.jsはイベント駆動型で、非同期イベントを処理するための機構を提供しています。これは以下のように使われます

const EventEmitter = require('events');

class MyEmitter extends EventEmitter {}

const myEmitter = new MyEmitter();

myEmitter.on('event', function() {
  console.log('an event occurred!');
});

myEmitter.emit('event');

このコードでは、eventというイベントが発火(emit)された時に、コールバック関数が呼び出されます。

NPMの利用

NPM(Node Package Manager)は、Node.jsのパッケージ管理ツールであり、あらゆるNode.jsパッケージをインストールするために使用されます。以下はNPMを使用してパッケージ(例:express)をインストールする方法です。

npm install express

package.json ファイルを使用すると、プロジェクトの依存関係を管理できます。

実践的なNode.jsのアプリケーション

さて、実際に小規模なWebサーバを作成してみましょう。以下のコードは、Expressを使ってHTTPサーバを作成する一例です。

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

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

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

このコードを実行すると、ポート3000でWebサーバが起動します。ブラウザで http://localhost:3000 にアクセスすると “Hello World!” が表示されます。

まとめと次のステップ

これでNode.jsの基本的な使い方と概念についての理解が深まったはずです。次にすべきことは、より深いトピックに挑戦することです。たとえば、データベースとの接続、認証と認可、REST APIの設計などがあります。

参考リソース

これらのリンクはNode.jsの深い理解のための優れたリソースです。

コメント

タイトルとURLをコピーしました