N予備校「プログラミング入門Webアプリ」を受講しています。
今回から第4章になります。
Expressの導入
Webフレームワークとして、Express
を使います。
雛形を作るためのexpress-generator
をインストール
yarn global add express-generator@4.16.0
テンプレートエンジンをpug
に設定して、カレントディレクトリに雛形を作成する
express --view=pug .
package.json
の中を見ると、yarn start
で起動できることがわかる。
package.json
"scripts": {
"start": "node ./bin/www"
}
Portの設定
www
/**
* Get port from environment and store in Express.
*/
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
デフォルトでは3000番。
dockerと同じ設定にするとスムーズ。
PORT=8000 yarn start
コンソールにログを出す時は、環境変数のDEBUG
を利用する。
DEBUG=express-test:* PORT=8000 yarn start
helmetモジュール
Express の機能を拡張し HTTP において脆弱性となるヘッダなどを取り除いて安全に使える
デベロッパーツールで簡単に確認できてしまう情報があるため。
yarn add helmet@4.6.0
helmet
モジュールをuse
関数で登録する。
app.js
var express = require('express');
var helmet = require('helmet');
var app = express();
app.use(helmet());
まとめ
Express というフレームワークは該当するパスや条件に関して、Router オブジェクトのような処理を実行するオブジェクトを複数登録し逐次処理していく仕組みで作られている。 この逐次処理を行っていく関数のことをハンドラという。
フレームワークと言われると、.NET Framework
がパッと思いつく。jQueryなんかもそうなのかな。
何にしても細かいことを気にしないで済むというのはとてもいい。
ただある程度は理解して使っていきたい。