はじめまして、新卒のtaku_76です。
上記URLからチャットbotを作成したいと思ったのですが、これにNode.jsの知識が必要だと書いてあったので学習してみました。 その結果フレームワークであるExpressを使用すると簡単に Webサーバーが構築できることが分かったので試しに使ってみました。
Node.jsとは
JavaScriptを使ってサーバーサイドのコードを書くことが出来るプラットフォームです。
- 特徴
V8エンジン
- GoogleChromeで使われているJavaScriptエンジンでブラウザとほぼ同じJavaScriptが書くことができます。JavaScriptを即座にコンピュータが理解できる機械語に変換して処理を行うため非常に高速です。
ノンブロッキングI/Oモデル
- I/Oが終わったか何度もチェックし、終わっていなければ次の処理に進んで、次の処理が終わったらまたチェックする、この動作を繰り返します。
- シングルスレッドの大量のアクセス制御が難しいというデメリットを回避します。
Node.jsのインストール
https://github.com/nullivex/nodist/releases
こちらのURLからnodistをインストールします。
- nodistとは
Windows環境で動作する Node.js のバージョン管理ツールです。これを使うことで、複数の Node.js のバージョンを切り替えて使い分けることができるようになります。また、同時にnpmもインストールされます。
- npmとは
Node.jsのパッケージを管理するツールです。Node.jsのパッケージとは、予め用意された便利な機能をまとめたものです。
Expressで新規プロジェクトを作成
- Expressとは
Node.jsで利用できるWebアプリケーションフレームワークです。 イベントループで非同期のため同時リクエストに強く、多くのユーザーの同時アクセス・大量リクエストを捌くことができます。 テンプレートエンジン(サーバーサイドで動的にオブジェクトを渡して、それをHTMLとして返す)を選べます。 今回はhtmlに近い形でかけるテンプレートエンジンのejsを使います。
- Expressのインストール
以下のコマンドでインストールを行うことが出来ます。
C:\Users\takumi\Desktop\test\Nodist>npm install -g express-generator
- 公開までの手順
C:\Users\takumi\Desktop\test\Nodist>express -e newproject
オプション-e でejsが設定された状態でプロジェクトが作成されます。
C:\Users\takumi\Desktop\test\Nodist>cd newproject && npm install
作成されたnewprojectのnode_moduleディレクトリの中に必要なモジュールがインストールされます。
packege.jsonに何をインストールするのか設定してあり、これを参照してインストールを行います。
C:\Users\takumi\Desktop\test\Nodist\newproject>npm start
サーバーを起動し、ローカルにWebページを公開します。 http://localhost:3000と入力するとexpressにデフォルトで入っているhtmlが以下のように表示されます。
おわりに
今回は、Node.jsのExpressを使ってローカルにWebサーバーの構築をしてみました。 次は、自分でWebアプリを開発してherokuを用いて公開するところまでやってみたいと思います。
参考
Node.jsについての記事
こちらにも詳しい記事があります。 Node.jsの勉強会でお手軽にWebアプリを作った話