移動端網路除錯 基於express的JsServerDemo
阿新 • • 發佈:2019-01-03
- 用途 作為自己mock測試伺服器
- 可以簡單的模擬各種請求資料
- 可以結合Charles 攔截代理,將線上環境的資料完整替換為本地的資料,可以方便模擬除錯各種情形
1. 啟動mock的JsServer
node .\bin\www
2. 用法 結合Charles
- Charles 的 Map 功能分 Map Remote 和 Map
Local兩種,前者是將制定的網路請求重定向到另一個網址,MapLocal 是將指定的網路請求重定向到本地檔案。
- . 本次直接使用charles的MapRemote功能,將charles 配置map Remote 配置參考如下:
router.all('/test', function (req, res, next) {
console.log(req)
res.set({
'Content-Length': '123',
})
res.sendFile('JsServertest.json', {root: path.join(__dirname, '../public/res')});
// res.render('index', { title: 'Express' });
})
結合以上步驟 可以方便將app內網路請求轉換成任意自己想要修改的資料演示 修改本地的(public/res/JsServertest.json)原介面響應結果
postman請求
http://115.159.24.246:8080/JsServertest.json
返回資料已經被修改為不僅僅是可以修改返回的response的body內容還可以根據需要任意修改返回的header資訊
router.all('/trade/go', function (req, res) {
console.log(req.headers)
/*
HTTP/1.1 200 OK
Server nginx
Date Mon, 19 Jun 2017 02:35:26 GMT
Cache-Control no-store
Content-Type text/xml;charset=UTF-8
Content-Encoding gzip
Vary Accept-Encoding
Pragma no-cache
Set-Cookie JSESSIONID=43E6672555D36EAB234DB20C53828DD0; Path=/; HttpOnly
THE-TIME Monday, 19-Jun-2017 10:35:27 CST
Transfer-Encoding chunked
Proxy-Connection Keep-alive
*/
var date= new Date()
res.set({
'Content-Type': 'text/json;charset=UTF-8',
'Content-Length': '123',
'Date': date.toDateString()
})
res.sendFile('JsServertest.json', {root: path.join(__dirname, '../public/res')});
});