Express Generatorを試す

express-generator

公式サイト
http://expressjs.com/ja/starter/generator.html

まずはインストール

npm install express-generator -g

次にgeneratorを実行
アプリ名をsampleとして作成

express sample

npmでインストールするアプリ用にpackage.jsonを編集

cd sample

package.jsonの中身を確認

    {
      "name": "sample",
      "version": "0.0.0",
      "private": true,
      "scripts": {
        "start": "node ./bin/www"
      },
      "dependencies": {
        "body-parser": "~1.13.2",
        "cookie-parser": "~1.3.5",
        "debug": "~2.2.0",
        "express": "~4.13.1",
        "jade": "~1.11.0",
        "morgan": "~1.6.1",
        "serve-favicon": "~2.3.0"
      }
    }

上記内容をインストール

npm install

雛形を起動

npm start

該当ディレクトリを確認すると雛形が作成されている。

node.jsのExpressを試す

Expressとはnode.js用のMVCフレームワークです。
いわゆるMEANスタックと呼ばれているもののEです。
詳しくは下記の公式サイトをご覧下さい。

Express公式サイト
http://expressjs.com/
1. インストール

npm install express

2. 実行ファイルの作成

vi app.js

node.jsで書いたコードとExpressで書いたコードを比較すると
下記のようになる

var express = require('express');
var app = express();

app.get('/', function (req, res) {
    res.send('Hello Express!!');
});

app.listen(3000);

console.log('Server running at http://localhost:3000/');

参考:node.jsバージョン

var http = require('http');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello Node!!');
}).listen(3000);

console.log('Server running at http://localhost:3000/');

まずはルーティングの機能。node.jsで記載するより通常のJavaScriptの開発に近いイメージで実装することが出来る。
今回の例は短いコードなので有り難みが少ないですが、実際に業務で使うコードになると有り難みが増すかと思います。

詳細はマニュアルを参照
http://expressjs.com/4x/api.html
3. 実行

node app.js

4. http://localhost:3000/
にブラウザでアクセスすると
「Hello Express!!」と表示される

node.jsを試す

MEANスタックまずはnode.jsを試します。
node.js用MVCフレームワークのMEANのE、Expressについては次回書こうと思います。
今回はNから。

オフィシャルサイトは
https://nodejs.org/

日本ユーザーグループは
http://nodejs.jp/

node.jsは今まで正直ざっくりサーバサイドJavascriptってぐらいの認識だったんですが、少しわかってきてもやっぱりサーバサイドJavaScriptって認識は間違いではなかったようです。

かなり雑に言いますが、node.jsがwebサーバにもスクリプト言語にもなってるんです。

まずはインストールしてみましょう。

brew install node

これだけでインストール完了。
ほんと便利な世の中だ・・・

で、hello.jsという名前で下記のコードを記述

var http = require("http");

http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello Node!!");
  response.end();
}).listen(8888);

これをコンソールから

node hello.js

として実行する。
ブラウザで
http://localhost:8888
にアクセスすると
なんと
「Hello Node!!」と表示されます。
ね?サーバとスクリプトでしょ?