Nodejs架設Server方法差異

  1. 前言
  2. Http
  3. Connect
  4. Express
  5. 結論

前言

關於Nodejs架設Server的選擇, 可以Node自帶的Http, 或Connect和Express, 這些都可以架設Server, 但差在哪裡呢? 要如何選擇呢?

Http

Node.js原先就有自帶Http這個Module, 可以幫助你架設Server, 但其他的東西都要自己處理

import http from 'http'

const http = http
http.createServer(function(req, res) {
	console.log(req)
	res.writeHead(200)
	res.end('Hello world.')
}).listen(5000)

Connect

這是個Middleware的套件, 主要是來處理Request, 例如Cookie的處理…
但Server的架設還是交由Http進行

import http from 'http'
import connect from 'connect'

const app = connect()
  .use(connect.cookieParser())
  .use(function(req, res) {
    console.log(req.cookies);
    res.end('Hello Connect.');
  })


const http = http
http.createServer(app).listen(5000)

Express

可以說是Connect的加強版, 裡頭包含了Route等等的功能, 然後已經不用Import Http了, 用Express就可以直接進行Server的架設了

import express from 'express'

const app = express()

app.use(express.cookieParser())
app.use(express.json())
app.get('/', function(req, res) {
  console.log(req.cookies)
  res.send('Hello Express.')
})

app.listen('5000')

結論

目前大多數看到的都是使用Express, 老實說真的比較方便