Node.js + Express を使ってみました


Node.js はフロントエンドの環境構築でしか使ったことがなかったのですが、Express と Node.js を組み合わせて使うことがよくあるようでしたので、試しに使ってみました。





 *Node.js について

OSSの実行環境のことで、サーバーサイドのツールやアプリケーションを JavaScript で作成することができます。クライアントもサーバーサイドも同じ言語で動いたら効率的なのではという発想から生まれた JavaScript 環境です。


*Node.js でできること

サーバー構築、アプリケーションプログラムの実行ができます。
シングルスレッドで非同期処理を行うことができるので、小規模で機動性の高いWebアプリケーションや、リアルタイム性が必要なWebアプリケーションに使うのが適しています。
チャットツールなどでWebブラウザとサーバー側が常時接続し、データを保存し続けながらブラウザ側に表示するのは難しく必要以上に時間がかかってしまいますが、Node.js だと簡単に実装することができます。


*Express とは

Node.js で使用できるWebアプリケーションフレームワークで、Web開発に必要なCookie/セッション/ユーザーログイン/URL パラメータ/POST データ/セキュリティヘッダーなどを扱うライブラリが入っています。


*参考



*環境

  • Node 10.7.0
  • express 4.16.1
  • express-generator 4.16.1


*Expressの使い方

任意のディレクトリで初期化し、package.jsonを作成します。
$ mkdir node-app
$ cd node-app/
$ npm init

Press ^C at any time to quit.
package name: (app) 
version: (1.0.0) 
description: 
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /Users/m-tominaga/js/node-app/package.json:

{
  "name": "app",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

Is this OK? (yes) yes

package.jsonが作成されます。
node-app
└── package.json

Express をインストールします。
$ npm install express --save

下記ディレクトリ構成になります。
node-app
├── node_modules
├── package-lock.json
└── package.json

作業ディレクトリ直下にapp.jsを作成します。
Express モジュールを読み込んでインスタンス化し、get()で「Hello node!」の文字列を返却するAPIを定義しています。
そして最後にlisten()を使って3000番ポートで待ち受け状態にしています。
var express = require('express')
var app = express()
app.get('/', function(req, res) {
  res.end('Hello node!')
})
app.listen(3000)

下記コマンドを実行します。
$ node app.js

下記URLにアクセスすると「Hello node!」が表示されます。
http://localhost:3000/


*雛形の作成

アプリケーションの雛形を作成するためにexpress-generatorを使います。
下記コマンドを実行してインストールします。
$ sudo npm install -g express-generator

下記コマンドを実行すると雛形を作成します。
$ express myapp

下記ディレクトリ構成になります。
node-app
├── app.js
├── myapp
│   ├── app.js
│   ├── bin
│   ├── package.json
│   ├── public
│   ├── routes
│   └── views
├── node_modules
├── package-lock.json
└── package.json

作成したmyappディレクトリ配下でサーバーを起動します。
$ cd myapp/
$ npm install
$ npm run start

下記URLにアクセスすると Express のサンプル画面が表示されます。
http://localhost:3000/











*所感

Express を使ったAPIの実装は簡単に書けそうだったので、とりあえず動かしてみたいときなどモックなどの段階に便利なのかと思いました。
Node.js の良さを実感できなかったので、チャットアプリなどを実際に作ってみて試してみたいと思います。

Previous
Next Post »

人気の投稿