アプリケーション開発の準備
これまでに学んだJavaScriptの基本構文は、実行環境を問わずに使えるものです。 しかしこの後に続くユースケースの章では、具体的な実行環境としてWebブラウザとNode.jsの2つを扱います。 また、ブラウザで実行するアプリケーションであっても、その開発にはツールとしてのNode.jsが欠かせません。 このセクションではユースケースの学習へ進むために必要なアプリケーション開発環境の準備をおこないます。
Node.jsのインストール
Node.jsはサーバーサイドJavaScript実行環境のひとつで、次のような特徴があります。
- WebブラウザのChromeと同じV8 JavaScriptエンジンで動作する
- オープンソースで開発されている
- OSを問わずクロスプラットフォームで動作する
Node.jsはサーバーサイドで使うために開発されました。 しかし今ではコマンドラインツールやElectronなどのデスクトップアプリケーションにも利用されています。 そのため、Node.jsはサーバーサイドに限らずクライアントサイドのJavaScript実行環境としても幅広く使われています。
Node.jsは多くの他のプログラミング言語と同じように、実行環境をマシンにインストールすることで使用できます。 公式のダウンロードページから、開発用のマシンに合わせたインストーラをダウンロードして、インストールしましょう。
Node.jsにはLTS(Long-Term Support)版と最新版の2つのリリース版があります。 LTS(Long-Term Support)版は2年間のメンテナンスとサポートが宣言されたバージョンです。 具体的には、後方互換性を壊さない範囲でのアップデートと、継続的なセキュリティパッチの提供が行われます。 一方で、最新版はNode.jsの最新の機能を使用できますが、常に最新のバージョンしかメンテナンスされません。 ほとんどのユーザーは、LTS版を用いることが推奨されます。Node.jsでの開発が初めてであれば、迷わずにLTS版のインストーラをダウンロードしましょう。 この章では執筆時点の最新LTS版であるバージョン8.12.0で動作するように開発します。
インストールが完了すると、コマンドラインでnode
コマンドが使用可能になっているはずです。
次のコマンドを実行して、インストールされたNode.jsのバージョンを確認しましょう。
$ node -v
v8.12.0
また、Node.jsにはnpmというパッケージマネージャーが同梱されています。
Node.jsをインストールすると、node
コマンドだけでなくnpmを扱うためのnpm
コマンドも使えるようになっています。
次のコマンドを実行して、インストールされたnpmのバージョンを確認しましょう。
$ npm -v
6.4.1
npmやnpm
コマンドについての詳細は公式ドキュメントやnpmのGitHubリポジトリを参照してください。
Node.jsのライブラリのほとんどはnpmを使ってインストールできます。
実際に、ユースケースの章ではnpmを使ってライブラリをインストールして利用します。
npxコマンドによるnpmパッケージの実行
Node.jsを使ったコマンドラインツールは数多く公開されており、npmでインストールすることによりコマンドとして実行できるようになります。
ところで、Node.jsのインストールにより、npxというコマンドも使えるようになっています。
npx
コマンドを使うと、npmで公開されている実行可能なパッケージのインストールと実行がコマンドひとつで省略できます。
この後のユースケースでもそれらのツールを使うので、ここでツールの実行を試してみましょう。
ここでは例として@js-primer/hello-worldというサンプル用のパッケージを実行します。
npx
コマンドでコマンドラインツールを実行するには、次のように npx
コマンドにパッケージ名を渡して実行します。
$ npx @js-primer/hello-world
npx: 1個のパッケージを7.921秒でインストールしました。
Hello World!
このように、npx
コマンドを使うことによりnpmで公開されているコマンドラインツールを簡単に実行できます。
[コラム] コマンドラインツールのインストールと実行
npmで公開されているコマンドラインツールを実行する方法はnpx
コマンドだけではありません。
npm install
コマンドを使ってパッケージをインストールし、インストールされたパッケージのコマンドを実行する方法があります。
通常のnpm install
コマンドは実行したカレントディレクトリにパッケージをインストールしますが、--global
フラグを加えるとパッケージをグローバルインストールします。
グローバルインストールされたパッケージのコマンドは、node
コマンドやnpm
コマンドと同じように、任意の場所から実行できます。
次の例では@js-primer/hello-world
パッケージをグローバルインストールしています。
その後、パッケージに含まれているjs-primer-hello-world
コマンドを絶対パスの指定なしで呼び出しています。
$ npm install --global @js-primer/hello-world
$ js-primer-hello-world
Hello World!