no-image

node.jsなんかでオンラインなゲームを作る(3) フレームワークであるExpressの設定


Expressはnode.jsで動作するフレームワークです。多分nodeの中では一番有名で、これを使うことでWebサーバの操作がぐっと楽になると思います。
Express Fast, unopinionated, minimalist web framework for Node.js
これがなくてもhttpサーバは立てられますが、変数を入れたりPOSTを処理したりなど複雑な操作は、コードを書いて処理しないといけません。
そういうのを一括で解決してくれるものをフレームワークと呼びます。
元々Androidアプリばっかり作ってたのでWebフレームワークというものをほとんど使ったことが無かった私なのですが、
これを使うとWeb開発がめちゃくちゃ楽になり、やらないといけない作業も数段減るため、
最近のWeb開発においてはフレームワークはほぼ必須なんだなあと使ってると思います。
Express設定
一部抜粋。全文はソースにて。

expressの設定は結構いろいろあってこれはこれで覚えるところ多くて大変。
コメントで簡単な説明を付けましたが、自分も完全な中身は知らないので各自ググってください。
app.use(express.favicon());
は、別にfaviconいらないし付ける必要もないのですが、これがないとコンソールさんにfaviconねーぞと怒られるので付けました。
app.use(express.json());
app.use(express.urlencoded());
は、前話したbodyparser絡みの設定。これを入れておかないとpostした時とかエラー吐きますのでとりあえず入れておきましょう。
app.use(express.static(path.join(__dirname, 'img')));
Express.staticは、指定したファイル/ディレクトリをスタティックなファイルとして公開します。
つまり、http上でディレクトリ内の画像やjsファイルなど、誰でもアクセスが可能になります。
ディレクトリの指定も可能です。(ディレクトリ内のファイルが全て公開されます)
path.joinは、絶対パスで指定しなければならないために使用します。__dirnameは、実行しているjsファイルのディレクトリパスを表します。

この後は、アクセスされた時の処理を書いていきます。


githubにソースがあります。製作中。ソースは自由に。

前:node.jsなんかでオンラインなゲームを作る(2)
次:node.jsなんかでオンラインなゲームを作る(4) ルーム機能