on 2017-09-05

Node.js - 簡單起一個 local server 進行測試

緣由

如果要臨時起一個 local 的 server 測試前端可以考慮用 Node 的一個套件 http-server 來做

為啥有這需求呢?

可能的情境如下

  1. 原本的 localhost(127.0.0.1) 被其他服務佔用時, 且無法依附在該 localhost 底下時

  2. 當要測試的前端程式需要是有第三方 API 驗證 domain 時且在上述情境時可以用(大部分的第三方 API 或 oauth 通常允許可以設置 localhost)

PS. 假設無法設定 localhost(得設定一個真實的 domain) 也可設定 host 解決這問題(但 host 是不吃 port 的所以在第一點的情況下這方案是無法成立的

其他建議

其實還有其他我覺得不太好的方式

例如

  1. 在本地的的 Apache or Nginx 設定 RewriteRule or Path or Proxy

  2. 用最方便的 file 方式打開(但如果有用到第三方服務需要 domain 驗證的就 GG 了)

使用方式

這裡只提供簡單的用法

詳細參數用法請參考 NPM 上的文件 http-server - npm

npm install http-server -g

裝在 global 後就可用在任意專案上

之後再切到專案目錄下以下指令

http-server

會看到以下訊息這就表示已經在 local 開了一個 8080 port 的 server

路徑理所當然的就是當前專案目錄的路徑

Starting up http-server, serving ./
Available on:
  http://127.0.0.1:8080
  http://192.168.2.187:8080
Hit CTRL-C to stop the server

當然也可指定 port 以避免跟其他服務 port 相撞

Refer - NodeJS - Setup a Simple HTTP Server / Local Web Server