使用Fundebug API 批量上传Source Map

摘要: 通过代码批量上传 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);      });

感谢客户大大风变科技的反馈!