摘要: 通過代碼批量上傳 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);
});
感謝客戶大大風變科技的反饋!
關於Fundebug
Fundebug專注於JavaScript、微信小程序、微信小遊戲、支付寶小程序、React Native、Node.js和Java線上應用實時BUG監控。 自從2016年雙十一正式上線,Fundebug累計處理了30億+錯誤事件,付費客戶有陽光保險、達令家、核桃編程、荔枝FM、微脈等衆多品牌企業。