使用Fundebug API 批量上傳Source Map
- 2020 年 3 月 3 日
- 筆記
摘要: 通過程式碼批量上傳 Source Map,實現流程自動化!
Fundebug 支援使用 Source Map 還原真正的錯誤位置。這樣的話,開發者能夠迅速定位出錯的源程式碼。另外,Fundebug 還能夠展示出錯的程式碼塊,幫助開發者更快地解決問題。
Fundebug 支援哪些 Source Map 上傳方式?
如果希望使用 Source Map 功能的話,我們必須拿到 Source Map 文件。用戶可以將 Source Map 文件掛載到自己的伺服器,我們會自動下載;或者,用戶也可以主動上傳 Source Map。我們一共提供了 3 種不同的上傳方式:
- 前端 UI 上傳
- fundebug-cli 批量上傳
- API 上傳
前面兩種方式都比較直觀,文檔中有詳細的說明。接下里介紹如何通過程式碼調用 API 實現 Source Map 批量上傳。
如何批量上傳 Source Map?
Fundebug 支援通過POST
請求上傳 Source Map,介面為/javascript/sourcemap/upload
, 參數包括
apikey
: 獲取 apikey 需要免費註冊帳號並且創建項目。appversion
: 可選參數,用於配置應用版本。若希望區分不同版本的 Source Map,則在接入 Fundebug 時,必須配置對應的 appversion 屬性,並在程式碼更新時及時更新。sourceMap
:Source Map 文件資訊,具體內容請參考下方示例程式碼。
下面給出 Node.js 版本的程式碼供參考,
const request = require("request-promise"); const fs = require("fs"); const options = { method: "POST", uri: "https://fundebug.com/javascript/sourcemap/upload", formData: { apikey: "YOUR-API-KEY", appversion: "1.0.0", sourceMap: { value: fs.createReadStream("./data/app.6c20067a.js.map"), options: { filename: "app.6c20067a.js.map", contentType: "text" } } } }; request(options) .then(function(success) { console.log("success:", success); }) .catch(function(err) { console.log("fail:", err); });
如何清除已上傳 Source Map?
如果上傳的 Source Map 太多,希望將舊的 Source Map 文件刪掉,我們也提供了相應的介面: /javascript/sourcemap/clear
。示例程式碼如下:
const request = require("request-promise"); const fs = require("fs"); const options = { method: "POST", uri: "https://fundebug.com/javascript/sourcemap/clear", body: { apikey: "YOUR-API-KEY" }, json: true }; request(options) .then(function(success) { console.log("success:", success); }) .catch(function(err) { console.log("fail:", err); });
感謝客戶大大風變科技的回饋!