【Node.js + Express】NodeのフレームワークExpressとは?導入とHello world表示
目次
今回はNode.jsのフレームワークであるExpressについてご紹介したいと思います。
Expressを使えばNode.jsで各処理がより効率的なプログラムを書くことができたり、REST APIなどを開発することができます。
それではいきましょう。
Expressとは?
Expressとは、Node.jsのフレームワークであり、Webアプリケーションを作る上での必要な機能が備わっているため、よく採用されます。
Node.jsでバックエンド側の開発を行う際、フレームワークを使わずにNode.jsで開発するとなると、一から全て自分で開発する必要がありますが、Expressのようなフレームワークを使うことで、既にWebアプリケーションを作る上での必要なパッケージが備わっているため、より効率的に高速で開発したい時にはおすすめです。
下記はExpressの公式サイトです。
https://expressjs.com/ja/
Expressを学習する上で必要となる知識は以下です。
- javascript
- Node.js
- データベースの知識(今回はpostgresqlを使用します。)
Expressを導入する
それでは実際にExpressを導入していきましょう。
Expressにはexpress-generatorという雛形を生成してくれるパッケージがあり、これを使ってREST APIなどの開発が可能です。
今回はExpressの基本を学ぶためにこのexpress-generatorは使わず、手動でExpressを導入していきます。
express-generatorに関しては後日別記事でご紹介いたします。
まず、任意のディレクトリに「express-test」というフォルダを作成して、cdコマンドで移動してください。
次に、Expressではnpmにてインストールしたパッケージを使うので、package.jsonの用意とnpm_moduleのインストールが必要になります。
下記コマンドを実行してください。
npm init //package.jsonの生成
npm install express //expressのインストール
すると「express-test」フォルダの中に下記のようにファイルとフォルダが生成されます。
これでnode_modules内のパッケージが利用できる様になります。
expressをインストール済みですので、expressも利用できるようになりました。
ExpressでHello Worldを出力する
「express-test」フォルダ直下にapp.jsファイルを作成してください。
app.jsファイルには下記の様に記述してください。
const express = require("express"),
app = express();
app.get("/", function (req, res) {
res.send("Hello World");
});
app.listen(8080);
console.log("servar listening...");
ひとつずつ見ていきましょう。
まず、expressを利用するためにrequireします。
これでexpressが使えます。
const express = require("express"),
app = express();
続いて、アクセスされたURLに応じて、処理する書き方です。
今回は、「/」にGETされた際に「Hello World」という文字列を返すという簡単なプログラムを書きました。
app.get("/", function (req, res) {
res.send("Hello World");
});
今回はGETですが、データを送る際はpost、更新する際はput、削除する際はdeleteでかき分けることができます。
これらについては別記事でご紹介いたします。
そして、ポート番号を指定します。
アクセスされた際にはコンソールに「server listening…」を表示するようにします。
app.listen(8080);
console.log("servar listening...");
これで完了です。
コマンド上で「node app.js」で起動してください。
試しにブラウザで「localhost:8080」でアクセスしてみてください。
すると、下記の様に「Hello World」という文字列がページ上に表示されるはずです。
アクセスURLを増やしてみましょう。
app.jsに下記の様に記述してください。
const express = require("express"),
app = express();
app.get("/", function (req, res) {
res.send("Hello World");
});
app.get("/bye", function (req, res) {
res.send("Good Bye!");
});
app.get("/morning", function (req, res) {
res.send("Good morning!!!");
});
app.listen(8080);
console.log("servar listening...");
これで保存し、nodeを起動し直してください。
その後、「localhost:8080/bye」と「localhost:8080/morning」にアクセスしてみてください。
するとそれぞれ「Good Bye!」と「Good morning!!!」という文字列が返ってくると思います。
このようにexpressではアクセスするURIをかき分けることで多様なレスポンスを返したりすることがすることができます。
まとめ
いかがだったでしょうか。
今回はExpressについて概要と導入、実際にいじってみるところまでやってみました。
Expressを使えば、REST APIなどの開発がスムーズに行えるので、より実践的なWebアプリケーション開発が可能です。
今後もExpressについてまとめていきます。
今回はここまでです。
お疲れ様でした!