この記事では、Node.jsの使い方をわかりやすく紹介します。
今回は、Node.jsを初めて使う人に向けて基本的な使い方から応用までを体系的に学習していきましょう!
「Node.jsとは何なのか?」
「Node.jsの導入や使い方について知りたい」
「バージョンやモジュール管理ってどうすればいいの?」
このような内容も含めて、本記事では以下のような構成で解説していきます!
【基礎】「Node.js」のインストール
【実践】「Node.js」のパッケージ管理
【実践】「Node.js」のモジュールについて
【実践】「Node.js」のデータベース
【実践】「Node.js」のフレームワーク
この記事で、Node.jsをしっかり学習してスキルアップを目指していきましょう!
- Node.jsはJavaScriptをサーバーで動かせる実行環境
- Node.jsを利用したいならインストールからはじめよう
- パッケージやモジュールを活用すれば利便性はさらに向上する
「Node.js」とは?
まずは、Node.jsの基本的な知識から見ていきましょう!
Node.jsは、一般的なJavaScriptでサーバーサイドの処理を制御できるように作られたもので大量のアクセスを高速に捌くことができる特徴があります。
これは非同期処理により実現できるものであり、またモジュール機能によりさまざまな機能を簡単に組み込めるパッケージが多数公開されているのも魅力です。
これにより、WebだけでなくIoTやスマホアプリなどさまざまな分野でNode.jsを動かすことができるわけです。
本記事では、Node.jsのインストールからバージョン管理、モジュール機能、データベース、フレームワークまで詳しく解説していくのでぜひ参考にしてみてください!
「Node.js」のインストール
この章では、Node.jsを導入するためのインストール作業について見ていきましょう!
主に、Windows・Ubuntuへのインストールやその他のOSへのインストールについて学んでいきます。
WindowsにNode.jsをインストールする
まずは、Windows環境にNode.jsをインストールする方法について見ていきましょう!
最も簡単で確実な方法としては、Node.jsが公式に公開しているインストーラーを使う方法です。
<Node.jsのインストーラー公式サイト>
https://nodejs.org/ja/download/
「LTS(推奨版)」が選択されていることを確認してインストーラーをダウンロードして実行しましょう。
LTSは最新版のNode.jsではありませんが、長期的に保守運用を行うことが約束されているので安定して使えるのが特徴です。
あとは、インストーラーの指示に従いクリックを数回すればNode.jsが導入できます。
確認のために、コマンドプロンプトから以下のコマンドを実行してみましょう!
node --version
Node.jsのバージョンが出力されたら、無事にインストールが完了していることを意味します。
Windowsのインストール作業やバージョン管理、パッケージの導入などの詳しい内容は次の記事で解説しています。
UbuntuにNode.jsをインストールする
今度は、Ubuntu環境へNode.jsをインストールする方法について見ていきましょう!
最も簡単な方法としては、「apt-get」コマンドによるインストールになります。
$ sudo apt-get update $ sudo apt-get install nodejs
最初に、念のため「update」コマンドでパッケージマネージャを更新してから、「install」コマンドでNode.jsを導入します。
あとで、パッケージを管理できるnpmも一緒にインストールしておくと良いでしょう。
$ sudo apt-get install npm
その他、「PPA」「NVM」「nパッケージ」などを利用してNode.jsをインストールする方法については次の記事で解説しています。
その他、各種OSへNode.jsをインストールする方法
他のOSとして、MacやCentOS、Arch系のOSなど各種さまざまな環境へNode.jsをインストールする方法も用意されています。
インストーラーを使う方法やコマンドによる導入については、次の記事で詳しく解説しているのでぜひ参考にしてみてください!
「Node.js」のパッケージ管理
この章では、Node.jsで扱えるパッケージの管理方法について見ていきましょう!
主に、npmによる管理方法およびNode.js自体のバージョン管理方法についても学んでいきます。
npmによるパッケージ管理の方法
Node.jsでは、さまざまなプログラムを「パッケージ」という単位でまとめて公開・配布できる機能があります。
npmはこのパッケージをインストール・検索・バージョン管理・削除…などができます。
例えば、パッケージをインストールしたい場合は「install」コマンドを利用します。
$ npm install 【パッケージ名】
installコマンドに続けて導入したいパッケージ名を指定するだけで、すぐにインストール作業が始まります。
パッケージを検索したい場合は「search」コマンドを利用します。
$ npm search 【パッケージ名】
searchコマンドに続けて検索したいパッケージ名を指定するだけで、関連するパッケージのリストが一覧で出力されます。
パッケージ名は一部分だけでも関連する名称をリストアップしてくれるので便利です。
また、インストールしているパッケージに最新版がリリースされているかを確認するには「outdated」コマンドを利用します。
$ npm outdated
最新版があればその一覧がリストで出力されます。
もし、任意のパッケージを削除したい場合は「un」コマンドを利用します。
$ npm un 【パッケージ名】
unコマンドに続けて削除したいパッケージ名を指定すればすぐに実行されます。
その他、npmの便利なコマンドの使い方やPackage.jsonの使い方についても次の記事で詳しく解説しているので参考にしてみてください。
なお、IT企業への転職や副業での収入獲得を見据え、独学でNode.jsといったプログラミングスキルを習得できるか不安な人は「侍エンジニア」をお試しください。
侍エンジニアでは、現役エンジニアと学習コーチの2名体制で学習をサポートしてもらえます。
「受講生の学習完了率98%」「累計受講者数4万5,000名以上」という実績からも、侍エンジニアなら未経験からでも挫折なく転職や副業収入の獲得が実現できますよ。
Node.jsのバージョンを管理する方法
Node.jsは非常に活発な開発がされており、頻繁にバージョンが変わるのが大きな特徴です。
そのため、さまざまなバージョン違いのNode.jsが開発環境にインストールされてしまうので、しっかりと管理をしておかないと不便です。
一般的なツールとしては「NVM」が用意されています。
NVMを使うと、複数のバージョンを管理することが可能で、コマンド一発で別のバージョンに切り替えることもできるので便利です。
例えば、インストール可能なNode.jsのバージョンを一覧表示するには「remote」コマンドを利用します。
$ nvm ls-remote
古いバージョンから最新版まで、現在インストール可能なバージョンが一覧で出力されます。
任意のバージョンでNode.jsをインストールするには、「install」コマンドを利用します。
$ nvm install v9.3.0
installコマンドに続けて細かくバージョンを指定できるのが特徴です。
そして、複数のバージョンをインストールしたら任意のバージョンに切り替えて利用することが可能です。
これは「use」コマンドを利用してバージョンを指定するだけで実行できます。
$ nvm use v9.3.0
useコマンドに続けてバージョンを指定すると、そのバージョンのNode.jsが利用できるようになります。
また、NVM以外のバージョン管理方法などについては次の記事で詳しくまとめています!
https://www.sejuku.net/blog/73695
「Node.js」のモジュール
この章では、Node.jsで利用できるモジュールの使い方について見ていきましょう!
主に、requireによるモジュールの使い方について学んでいきます。
requireによるモジュールの管理について
npmを利用して導入されたモジュール(パッケージ)は、どのようにしてNode.jsで使うのかを見ていきましょう!
基本的にはプログラムの最初に「require()」を記述することで、Node.jsで扱えるようになります。
例えば、「express」というモジュールを導入してみましょう!
$ npm install express
次に、require()を使って導入したモジュールをNode.jsから扱えるようにします。
var express = require('express');
これで変数「express」を利用してモジュールを扱えるようになるわけです。
require()の仕組みやモジュールの作り方などについて、次の記事で体系的に学べるように解説しているのでぜひ合わせて参考にしてみてください!
「Node.js」のデータベース
この章では、Node.jsで扱えるデータベースについて見ていきましょう!
主に、MySQL / MongoDB / PostgreSQLのデータベースについて学んでいきます。
MySQLによるデータ管理
まずは、最も一般的なMySQLデータベースの使い方から見ていきましょう!
Node.jsからMySQLを扱えるようにするには、「mysql」というモジュールを利用するのが簡単です。
$ npm install mysql
導入したら、require()でNode.jsから扱えるようにします。
var mysql = require('mysql');
これで、準備は完了です。
例えば、新規にデータベースを作成するには「query()」メソッドを次のように記述します。
client.query(‘CREATE DATABASE sample‘); client.useDatabase(‘sample‘);
この例では、query()の引数にSQL文で「sample」というデータベースを作成しています。
Node.jsからMySQLデータベースを利用したCRUD操作については、次の記事で解説しているので参考にしてみてください!
MongoDBによるデータ管理
次に、MongoDBを使ったデータベースの使い方について見ていきます。
まずはnpmから「mongodb」というモジュールを導入しましょう。
$ npm install mongodb
そして、Node.jsから扱えるようにするためにrequire()を次のように記述します。
var MongoClient = require('mongodb').MongoClient;
これでNode.jsからMongoDBのデータベースを制御できるようになります。
現在のMongoDBはクラウドサービスが充実しており、「MongoDB Atlas」というクラウド上で任意のデータベースを構築できるようになっています。
無料プランも用意されており、ブラウザ上で自由にデータベースを作成できるようになっています。
このMongoDB Atlasの導入方法からNode.jsでCRUD操作を行うための手法については、次の記事で体系的に解説しているので参考にしてみてください。
PostgreSQLによるデータ管理
今度は、PostgreSQLによるデータベースを扱う方法について見ていきましょう!
まずはnpmから「pg」モジュールを導入しておきます。
$ npm install pg
次に、require()を記述してNode.jsから扱えるようにしておきましょう。
var { Client } = require('pg');
あとは、PostgreSQLのデータベース情報をオブジェクト形式でClient()の引数へ初期設定として記述すれば導入は完了です。
var client = new Client({ user: 'myuser', host: 'database.server.com', database: 'mydata', password: 'abc123', port: 5432 }) client.connect()
「connect()」メソッドを利用することで、Node.jsからPostgreSQLへ接続することができます。
PostgreSQLのデータベースを使ったクエリ操作については、次の記事で詳しくまとめているのでぜひ参考にしてみてください!
「node.js」のフレームワーク
この章では、Node.jsで利用するフレームワークについて見ていきましょう!
主に、よく使われる定番として「Express」について学んでいきます。
Expressによるサーバー構築について
Expressは、Node.jsによるサーバー環境の構築やWebアプリを開発するうえで便利な機能が多数搭載されたシンプルなフレームワークです。
導入方法は簡単でnpmから「express」をインストールするだけです。
$ npm -g install express $ express testapp
インストールしたあとに、「express」コマンドを利用して新規アプリをすぐに作成できます。
次に、require()でNode.jsから扱えるようにしておきます。
var express = require('express'); var app = express();
あとは、次の数行を記述するだけでサーバー環境を構築することができます。
var listener = app.listen(3000, function() { console.log(listener.address().port); });
「listen」メソッドを利用するだけですぐにサーバーが起動できるのは便利ですね。
また、GET通信を行う方法も「get()」メソッドを利用して次のように記述します。
app.get('/', function (req, res) { res.send('ページが表示されました!'); });
第1引数にパスを設定し、第2引数に実行したい処理の関数を設定するだけです。
このように、効率の良い記述で複雑なWebアプリを構築できる機能が多数用意されているのが大きな特徴と言えます。
Expressの基本的な使い方やGET・POST通信のプログラミング方法などについては、次の記事で詳しくまとめていますので参考にしてみてください!
なお、IT企業への転職や副業での収入獲得を見据え、独学でNode.jsといったプログラミングスキルを習得できるか不安な人は「侍エンジニア」をお試しください。
侍エンジニアでは、現役エンジニアと学習コーチの2名体制で学習をサポートしてもらえます。
「受講生の学習完了率98%」「累計受講者数4万5,000名以上」という実績からも、侍エンジニアなら未経験からでも挫折なく転職や副業収入の獲得が実現できますよ。
まとめ
今回は、Node.jsの基本的な使い方から応用までを学習してみました!
最後に、もう一度ポイントをおさらいしておきましょう!
・Node.jsはインストーラーやコマンドによる導入方法がいくつか用意されている
・さまざま機能をパッケージという単位にまとめて利用できる仕組みがある
・Node.jsから簡単に扱えるデータベースやフレームワークも用意されている
上記内容を踏まえて、ぜひ自分でもプログラミングに取り入れて活用できるように頑張りましょう!