Node.js 再入門メモ(その 1)

なにこれ

Node.js は、まともに勉強したことが無かったので、一つずつ丁寧に学んでいきたい。

その過程で書いたコード片を、メモ代わりに貼り付けていこうと思う。

この記事は誰かに読んで貰うことを想定したものではなく、あくまで自分用なので、大して整理もせずロクな解説も行わない。

しかも今回の内容は Hello, World レベルの初歩の初歩であり、情報価値としては皆無である。

使用環境

$ node --version
v6.9.4

$ npm --version
4.1.2

Hello, World

プレーンテキストで Hello, World を返す。 超シンプルに、ファイルは app.js ただ 1 つである。 設定ファイルも作らない。

app.js
const http = require('http')

let server = http.createServer( 
  (request, response) => {
    response.end('Hello, World!')
  }
)
server.listen(3000)
実行コマンド

ターミナルで以下を打ち込とサーバが起動する。

$ node app.js

http://localhost:3000/にアクセスすると結果が確認できる。

サーバを終了するには、ターミナル上で Ctrl + C を押せばよい。 また、app.js に手を加えるたびにサーバの再起動が必要である。

HTML の出力

プレーンテキストではなく、HTML ドキュメントを返す例。 HTML ソースは app.js 内にベタ書きしている。

app.js
const http = require('http')

let server = http.createServer(
  (request, response) => {
    response.setHeader('Content-Type', 'text/html')
    response.write(`
      <html>
        <body>
          <h3>Hello, World!</h3>
          <p>Node js</p>
        </body>
      </html>
    `)
    response.end()
  }
)
server.listen(3000)

外部 HTML の読み込み & 出力

fsモジュールを使い、外部の HTML ファイルを読み込んで返すというもの。

index.html
<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta http-equiv="content-type"
    content="text/html; charset=UTF-8">
    <title>Hello World</title>
  </head>
  <body>
    <h3>Hello World</h3>
    <p>どったんばったん大騒ぎ</p>
  </body>
</html>
app.js
const http = require('http')
const fs = require('fs')

let server = http.createServer(
  (request, response) => {
    fs.readFile('./index.html', 'utf-8',
      (error, data) => {
        response.writeHead(200, {
          'Content-Type': 'text/html'
        })
        response.write(data)
        response.end()
      })
  })
server.listen(3000)