Node.js httpdサーバーを作ってみるには?

ショコラ
ショコラ

Node.js httpdサーバーを作ってみるには?

色々なところで、node.js や npm のコマンドがでてくるんだよね。基本は JavaScript ということで敷居は低いので、ちょっとかじってみようかなと思いました。

もっさん先輩
もっさん先輩

この1行だけで Webサーバー としてひとまず機能します。hello.js として保存します。

require('http').createServer((req,res) => res.end('Hello Answorz!')).listen(80)

require ではなく、import で対応する場合は、package.jsonファイル を用意して↓下のように書きます。

{
  "type":"module"
}
import http from 'http'
http.createServer((req,res) => res.end('Hello Answorz!')).listen(80)

実行は↓下のように nodeコマンド に hello.jpファイル を与えます。

node hello.js

ブラウザで http://localhost にアクセスすると「Hello Answorz!」と表示されます。

Express でhttpサーバーを作ってみる。

  1. express をインストールします。
npm install express
  1. hello.js のプログラムを変更します。
import express from 'express'
const app = express()
app.get('/',(req,res) => res.end('Hello Answorz!'))
app.listen(80)
  1. 実行します。
node hello.js

↑hello.js を実行すると、実行後は hello.js を修正しても修正した内容が反映されません。反映する為にはコマンドを止めて、再び nodeコマンド を実行する必要があります(面倒ですよね)。それを自動でやってくれるのが nodemon です。

  1. nodemon をインストールします。
npm install nodemon
  1. package.json に scripts を追加します。2~4行目追加です。
{
  "scripts": {
    "start": "nodemon hello.js"
  },
  "type": "module",
  "dependencies": {
    "express": "^4.18.2",
    "nodemon": "^2.0.20"
  }
}
  1. npm start で実行します。node hello.js ではありません。
npm start

以上

Scroll to Top