


みやちゃ
今回から、Node.jsについて解説していきます。
- Node.jsでHello World
Node.jsを用いて、ブラウザに「Hello World」と表示することができます!
Node.jsについて

Node.jsは、サーバーサイドのプログラミングを作ることができるJavascriptです。
Javascriptと言えば、フロントエンドのイメージが強いですが、Node.jsでは、サーバーサイトのプログラミングを書くことができます。
一般的に、Webアプリ開発では、
・Webサーバー上で動くサーバー側のプログラム
・Webブラウザ上で動くクライアント側のプログラム
の2つが必要になります。
サーバーサイドのプログラムを作る場合、RubyやPythonといった言語で書き、
クライアント側のプログラムを作る場合、Javascriptで書くのが一般的でした。
ここで、Node.jsの登場により、サーバー側もクライアント側も、同じ言語で書くことができるようになったと言うことです。
Hello World
それでは実際にNode.jsでプログラミングを書いてみましょう。
新規ファイルを「hello-world.js」と言う名前で作成します。
ファイルの中身を以下のようにしてください。
const http = require('http')
const svr = http.createServer(handler)
svr.listen(8081)
function handler (req, res) {
console.log('url:', req.url)
console.log('method:', req.method)
res.writeHead(200, {'Content-Type': 'text/html'})
res.end('<h1>Hello, World!</h1>\n')
}
1行目のrequireでhttpモジュールを読み込んでいます。
モジュールとrequireについては、こちらの記事で解説しています。
2行目のcreateServerでサーバーを作成しています。
3行目のlisten(8081)は、ポート8081番で待ち受けることを示しています。
5行目以降のfunctionでは、サーバーにアクセスがあった時の処理を示しています。
つまり、サーバーにアクセスがあると、functionで定義したhandler()が実行されると言うことです。
プログラムの実行
それでは先ほど書いたプログラムを実行してみましょう。
ターミナルを開いて、以下のコマンドを実行してください。
$ node hello-world.js
上記のコマンドを実行して、Enterを押しても特に結果が返ってこないのが普通です。
URLにアクセスをしてみましょう。
以下のURLにアクセスをしてください。
[URL] http://localhost:8081
URLにアクセスすると、ブラウザに「Hello World」と表示されているはずです!

それでは、サーバーにアクセスしたので、ターミナルで変化があったか見てみましょう。
ターミナルで以下のような結果が出力されていました。
$ node hello-world.js
url: /
method: GET
上記の結果は、どのURLでどのメソッドにアクセスがあったかを示しています。
上記の例だと、GETメソッドにアクセスしたのがわかります。
まとめ
いかがでしたでしょうか?
今回は、Node.jsでブラウザにHello Worldと表示させました!

みやちゃ
ここまでご覧いただきありがとうございます!