皆さん、Node.jsという名前を聞いたことがあるでしょうか。Node.jsはサーバーでも動くJavaScript実行エンジンです。Google Chromeに搭載されているV8エンジンをベースに作られているため、高速であり最新のJavaScript仕様にも対応しています。最近では様々な場面で活用されているNode.jsをインストールして試してみましょう。
Node.jsとは
Node.jsは2009年にライアン・ダール氏によって開発されたJavaScriptの実行環境です。冒頭で紹介したように、Google Chromeに搭載されているV8エンジンをベースに開発されています。Node.jsは実行効率の良いWebサーバーとして設計されました。それは、非同期型イベント駆動という方式を採用することで、たくさんのユーザーからの接続を同時に処理することができます。マルチプラットフォームに対応しており、Windows、macOS、Linuxと様々な環境で動作します。そして、様々なライブラリが提供されており、Webサーバーだけではなく、様々な用途で利用されています。
なお、npmと呼ばれるパッケージ管理ツールが提供されています。npmは、Node Package Managerの略であり、Node.jsに関する様々なモジュールが提供されています。コマンドラインから、手軽にライブラリを導入できるのがメリットです。ライブラリをインストールする際には、そのライブラリが動作に必要とする依存ライブラリも一緒にダウンロードされます。
ちなみに、Node.jsのように使えるJavaScriptの実行エンジンは、過去にも、RhinoやSpiderMonkeyなどありました。しかし、Node.jsの実行効率やnpmによる豊富なライブラリなど、これまでのエンジンよりも実用性が高い点が評価されています。
Node.jsのインストール
それでは、Node.jsをインストールしてみましょう。Node.jsのWebサイトのダウンロードページから、Windows、macOS、Linux用の形式のインストーラーが提供されています。
Windowsでは、インストーラーをダウンロードしたら、ダブルクリックしてインストールを開始しましょう。右下にある[Next]ボタンを数回クリックしていくとインストールが完了する。
macOSでは、パッケージマネージャーのHomebrewを使ってコマンドラインから手軽にインストールすることができます。その場合「brew install node」とコマンドを実行するだけです。
インストールが完了したか確認してみよう
インストールしたら、コマンドラインからNode.jsを実行して動作を確かめましょう。
【Windowsの場合】
Windowsでは、スタートメニューにNode.jsが登録されているので、「Node.js」の項目にある「Node.js command prompt」を起動しましょう。
そして、黒いコマンドラインの画面が出たら、以下のようなコマンドを入力して[Enter]キーを押します。
node -v
すると、インストールしたNode.jsのバージョンが表示されます。
【macOSの場合】
macOSの場合は、最初にターミナルを起動します。画面の右上にある虫メガネのアイコンのSpotlightをクリックして、「Terminal.app」とタイプします。すると、ターミナルを起動します。同じように、「node -v」とコマンドを打ち込むとバージョン番号が表示されます。
コマンドラインから対話的に計算してみよう
Node.jsが正しくインストールされていることが分かったら、対話的な実行環境を起動して、簡単な計算をしてみましょう。コマンドラインで「node」とタイプしてEnterキーを押します。すると、Node.jsを逐次実行できる対話環境が起動します。
その上で、「1+2」あるいは「1+2*3」などと、計算式を入力してEnterキーを押すと、その計算結果が表示されます。
プログラムファイルから実行してみよう
次にプログラムを作って、作ったプログラムを実行してみましょう。以下のようなプログラムを作成して「hello.js」という名前でファイルを保存しましょう。
// メッセージを表示するだけの簡単なプログラム
console.log('Hello, World!')
そして、コマンドラインから「node (ファイル名)」のような形式でコマンドを実行すると、プログラムを実行できます。「node hello.js」とタイプして実行してみましょう。ただし、コマンドラインのカレントディレクトリ(作業中のフォルダ)にプログラムが配置されている必要があります。「cd」コマンドでカレントディレクトリを変更できます。
cd (ファイルを保存したディレクトリのパス)
node hello.js
以下はコマンドを実行したところです。
プログラムの説明ですが『console.log('メッセージ')』のように書くと任意のメッセージをコマンドラインに出力します。
node.jsでQRコードを生成してみよう
Node.jsを使うと、いろいろなライブラリを利用して、実用的なプログラムを作ることができます。ここでは、Node.jsの利用例としてQRコードを生成するプログラムを作ってみましょう。
Node.jsでプロジェクトをはじめるには以下のコマンドを実行します。すると、プロジェクトの設定ファイルが作成されます。
npm -f init
Node.jsでQRコードを生成するには、node-qrcodeという名が体を表すライブラリをインストールします。前述の通り、Node.jsには手軽にライブラリをインストールできるnpmというツールがあり、これを利用することで、手軽にライブラリを導入できます。
最初に以下のコマンドを実行して、qrcodeライブラリを取得しましょう。
npm install qrcode
すると、node_modulesというディレクトリが作成され、そのディレクトリ以下にqrcodeライブラリに必要なモジュールがダウンロードされます。
このqrcodeを利用して、QRコードを生成するには、以下のようなプログラムを記述します。以下のプログラムを「qr_test.js」というファイル名で保存しましょう。
// ライブラリの取り込み
const QRCode = require('qrcode')
// URLを記述したQRコードを作成してファイルtest.pngに保存
const url = 'https://kujirahand.com/'
QRCode.toFile('test.png', url)
そして、先ほどの簡単なプログラムを実行した時と同じように、次のようなコマンドを実行します。
node qr_test.js
上記のコマンドを実行すると、test.pngという名前でQRコードの画像が生成されます。
Node.jsについてのまとめ
今回は、Webブラウザを飛び出したJavaScript、実用的なスクリプト実行環境のNode.jsについて紹介しました。PythonやRubyなどのスクリプト言語と同じように、豊富なライブラリがありつつ、使い慣れたJavaScriptを使って役立つプログラムを作ることができます。Node.jsは今後も本連載で紹介していきますので、楽しみにしてください。
自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。代表作に、日本語プログラミング言語「なでしこ」 、テキスト音楽「サクラ」など。2001年オンラインソフト大賞入賞、2004年度未踏ユース スーパークリエータ認定、2010年 OSS貢献者章受賞。技術書も多く執筆している。