2019年11月30日
2020年11月2日
【Node.js】Expressを利用してWebサーバーを作成する

前回はNode.jsだけでWebサーバーを作成し、1行ずつコードをみていきました。
ここからはExpressを利用してWebサーバーを作成してみます。
パッケージの導入
Expressパッケージを導入します。
$ npm install express --save
成功するとこのように表示されます。
npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN express-app@1.0.0 No description npm WARN express-app@1.0.0 No repository field. + express@4.17.1 added 50 packages from 37 contributors and audited 126 packages in 1.606s found 0 vulnerabilities
WARNと出ているのはpacket.jsonに情報を入れていないからなので今回は無視します。
次はpackage.jsonにExpressが追加されたか確認してみましょう。
{ "name": "express-app", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "dependencies": { "express": "4.17.1" //<— 追加されている } }
このように dependencies という項目が追加され、express がそのバージョンとともに記録されます。
ExpressでWebサーバーを作成
ここでExpressを使用したWebサーバーを作成してみます。
Expressの公式サイトにも app.js のサンプルがありましたのでそのままコピペします。
// app.js var express = require('express') var app = express() app.get('/', function (req, res) { res.send('Hello World!') }) app.listen(3000)
ES6で書くとこんな感じです。
こちらのほうがスッキリしています。
// app.js const express = require('express') const app = express() app.get('/', (req, res) => res.send('HelloWorld')) app.listen(3000)
サーバーを起動します。
$ node app.js
ブラウザに http://localhost:3000/ を入力してアクセスすると以下のように表示されました!

あとがき
Expressを使うときは http パッケージを指定しなくてもHTTP通信ができちゃうのですね。
これってExpressの中にいろいろ入っているからなんでしょうね。
また、get や send で書いているので直感的にわかりやすそうです。
次は1行ずつコードを見ていきたいと思います。
関連記事

フォローお願いします