安裝 nodejs
下載連結
建立專案
1 2 3
| $ mkdir express-server && cd express-server $ npm init -y $ npm install express
|
設定 Web Server
建立 app.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| const express = require('express'); const app = express();
app.get('/', function (req, res) { console.log('首頁GET 請求'); res.send(' Hello GET '); });
app.post('/', function (req, res) { console.log('首頁POST 請求'); res.send(' Hello POST '); });
app.put('/', function (req, res) { console.log('首頁PUT 請求'); res.send(' Hello PUT '); });
app.delete('/', function (req, res) { console.log('首頁DELETE 請求'); res.send(' Hello DELETE '); });
const PORT = 9527; app.listen(PORT, () => { console.log(`server working now on ${PORT}`); });
|
執行 app.js 啟動服務器
測試API 連線
使用 postman
甚麼是postman
Postman 是一個可以模擬 HTTP Request 的工具,其中包含常見的 HTTP 的請求方式,
例如: GET 、POST、PUT、DELETE,
而它的主要功能就是能夠快速的測試你的 API 是否能夠正常的請求資料,
並得到正確的請求結果。除了快速測試的功能以外, Postman 還擁有非常容易使用的介面
下載postman
下載連結
安裝後並執行postman
- 在輸入框輸入
localhost:9527
- 模式選擇
GET
- 按下 send
- 會看到
Hello GET
加入套件
nodemon
nodemon 功能
- 自動重啟應用程式
- 持續偵測你的預設程式
- 默認支持 node&coffeescript,但是易於運行任何可執行文件(比如python,make等)
- 可以忽略特定文件或目錄
- 觀察指定的目錄資料夾
- 與服務器應用程序或一次運行公用程序和 REPLs 一起使用
- 可在 node 中被存取使用
安裝
1
| $ npm install nodemon -g
|
使用方式
script 設定
可以到 package.json檔案內中,
在scrip
這個物件底下新建立一個腳本
1 2 3 4
| "scripts": { "test": "echo \"Error: no test specified\" && exit 1" "start":"nodemon app.js" },
|
這樣以後要執行服務的時候就可以直接輸入
dotenv
透過 dotenv 套件來隱藏敏感資訊
node.js 是沒有辦法直接讀取到 .env 檔案的,需要另外安裝套件才能讀取
可以將 sql連線 等敏感資料都寫在 .env 來進行管理
安裝
使用方法
1 2 3 4
| require('dotenv').config(); console.log(process.env.number)
|
bodyparser
為何要安裝
body-parser是非常常用的一個express中介層(middleware),
作用是對post請求的請求體進行解析。
body-parser主要做了什麼
處理不同類型的請求體:例如text、json、urlencoded等,對應的封包主體的格式不同。
處理不同的編碼:例如utf8、gbk等。
處理不同的壓縮類型:比如gzip、deflare等。
其他邊界、異常的處理。
安裝
1
| $ npm install body-parser
|
使用方法
使用非常簡單,以下兩行程式碼已經涵蓋了大部分的使用場景。
1 2 3
| const bodyParser = require('body-parser') app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false }));
|
參考
express
nodemon
dotenv
body-parser