ショコラ
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サーバーを作ってみる。
- express をインストールします。
npm install express
- hello.js のプログラムを変更します。
import express from 'express'
const app = express()
app.get('/',(req,res) => res.end('Hello Answorz!'))
app.listen(80)
- 実行します。
node hello.js
↑hello.js を実行すると、実行後は hello.js を修正しても修正した内容が反映されません。反映する為にはコマンドを止めて、再び nodeコマンド を実行する必要があります(面倒ですよね)。それを自動でやってくれるのが nodemon です。
- nodemon をインストールします。
npm install nodemon
- package.json に scripts を追加します。2~4行目追加です。
{
"scripts": {
"start": "nodemon hello.js"
},
"type": "module",
"dependencies": {
"express": "^4.18.2",
"nodemon": "^2.0.20"
}
}
- npm start で実行します。node hello.js ではありません。
npm start
以上