node.jsのフレームワークを導入する

ジェネレーターのインストール&必要なファイルの作成

$ npm install -g express-generator
/home/ubuntu/.nodebrew/node/v4.7.0/bin/express -> /home/ubuntu/.nodebrew/node/v4.7.0/lib/node_modules/express-generator/bin/express-cli.js
+ express-generator@4.15.5
added 6 packages in 0.99s
$ cd workspace/$ express express-study

  warning: the default view engine will not be jade in future releases
  warning: use `--view=jade' or `--help' for additional options


   create : express-study
   create : express-study/package.json
   create : express-study/app.js
   create : express-study/public
   create : express-study/routes
   create : express-study/routes/index.js
   create : express-study/routes/users.js
   create : express-study/views
   create : express-study/views/index.jade
   create : express-study/views/layout.jade
   create : express-study/views/error.jade
   create : express-study/bin
   create : express-study/bin/www
   create : express-study/public/javascripts
   create : express-study/public/images
   create : express-study/public/stylesheets
   create : express-study/public/stylesheets/style.css

   install dependencies:
     $ cd express-study && npm install

   run the app:
     $ DEBUG=express-study:* npm start

npmモジュールのインストール

cd express-study
npm install

起動

$ DEBUG=express-study:* PORT=8000 npm start

> express-study@0.0.0 start /home/ubuntu/workspace/express-study
> node ./bin/www

  express-study:server Listening on port 8000 +0ms
  • 「npm スクリプト名」 というコマンドでpackage.jsonで設定されたコマンドが実行される。package.jsonにはこんな箇所がある。
"scripts": {
    "start": "node ./bin/www"
  },

アクセスしてみると雛形ページが表示される

http://localhost:8000/

f:id:sattamassagana:20180204201655p:plain

試しにExpressのdebugモジュールの機能を使ってみる

  • app.jsの先頭に追加する
'use strict';

const debug = require('debug');//debugモジュールを読み込む
const debugInfo = debug('app:info');//module:infoという設定のロガーdebugInfoを用意
setInterval(() => {//1000msごとに関数を実行する
    debugInfo('some information');
}, 1000);

const debugError = debug('app:error');//別の設定のロガーdebugErrorを用意
setInterval(() => {
    debugError('error!');
}, 2000);
  • 実行(複数ログ出力するにはカンマで繋げてコマンドを実行する)
$ DEBUG=express-study:*,app:* PORT=8000 npm start

> express-study@0.0.0 start /home/ubuntu/workspace/express-study
> node ./bin/www

  express-study:server Listening on port 8000 +0ms
  app:info some information +907ms
  app:error error! +997ms
  app:info some information +9ms
  app:info some information +1s
  app:error error! +990ms
  app:info some information +13ms
  app:info some information +1s
  app:error error! +987ms
  app:info some information +14ms
  app:info some information +1s
  app:error error! +985ms
  app:info some information +17ms
  app:info some information +1s
  app:error error! +982ms
  app:info some information +23ms
  app:info some information +1s
  app:error error! +978ms
  app:info some information +25ms