Fundebug前端異常監控插件更新至2.0.0,全面支持TypeScript

摘要: 是時候支持TS了!javascript

Fundebug前端異常監控服務

Fundebug提供專業的前端異常監控服務,咱們的插件能夠提供全方位的異常監控,能夠幫助開發者第一時間定位各類前端異常,包括但不限於JavaScript執行錯誤以及HTTP請求錯誤。html

而且,Fundebug支持Source Map還原,記錄用戶行爲以及「錄製」用戶操做視頻,幫助開發者快速復現BUG,提升Debug效率,歡迎你們免費試用~前端

Fundebug前端異常監控插件更新至2.0.0,全面支持TypeScript,爲使用TypeScript的用戶提供更好的編程體驗。java

關於TypeScript

想必你們都據說過TypeScript:git

  • Vue 3.0使用TypeScript重寫
  • Node.js做者使用TypeScript開發Deno,一個新的JavaScript後端語言

爲何不少人開始使用TS了呢?程序員

由於JavaScript沒有類型,而TypeScript有類型的,這樣能夠提升代碼的正確性。另外一方面,全面的類型推斷意味着編輯器能夠提供完備的代碼補全和類型錯誤提醒,提升開發者的開發效率。github

對TypeScript感興趣的同窗,不妨看看TS做者Anders Hejlsberg的視頻Introducing TypeScriptAnders Hejlsberg是程序員界的傳奇人物,C#與TypeScript都是由他設計主導,年近60依然還在編程,可是,他的視頻很是淺顯易懂!typescript

全面支持TypeScript

TypeScript已經在業界應用了多年,且愈來愈流行,所以Fundebug的前端異常監控插件也應該全面支持TypeScript了:npm

  • 全部的代碼由JavaScript切換爲TypeScript
  • 嚴格遵照TSLint的語法規則
  • 爲fundebug的各個API編寫嚴格的類型聲明文件

對於TypeScript用戶來講,在使用fundebug的API,好比fundebug.test()時,能夠方便地看到類型提示:編程

可知,fundebug.test()有2個可選參數name與message,類型都是字符串。

新增fundebug.init()方法

爲了兼容嚴格的TypeScript語法,咱們新增了fundebug.init方法來配置各類屬性,例如apikey

fundebug.init({
    apikey: "API-KEY"
});

TypeScript用戶在使用全局變量fundebug來配置各類屬性時,則會看到報錯:

這時,使用// @ts-ignore忽略下一行的報錯便可:

// @ts-ignore
fundebug.apikey = 'API-KEY'

不過,仍是推薦你們使用fundebug.init方法進行配置。

fundebug.d.ts

fundebug.d.ts爲Fundebug前端異常監控插件的類型聲明文件:

// Type definitions for fundebug-javascript
// Project: https://www.npmjs.com/package/fundebug-javascript
// Definitions by: Fundebug <https://www.fundebug.com>

export as namespace fundebug;

export function init(config: IConfigs): undefined;

export function test(name?: string, message?: string): undefined;

export function notify(
    name: string,
    message: string,
    options?: IOptions
): undefined;

export function notifyError(error: Error, options?: IOptions): undefined;

interface IConfigs {
    apikey: string;
    appversion?: string;
    releasestage?: string;
    user?: IUser;
    metaData?: object;
    callback?: ICallback;
    setHttpBody?: boolean;
    httpTimeout?: number;
    filters?: object[];
    silent?: boolean;
    silentDev?: boolean;
    silentResource?: boolean;
    silentHttp?: boolean;
    silentWebsocket?: boolean;
    silentConsole?: boolean;
    silentPerformance?: boolean;
    sampleRate?: number;
    domain?: string;
}

interface IUser {
    name: string;
    email: string;
}

type ICallback = (event: object) => void;

interface IOptions {
    metaData?: object;
}

參考

關於Fundebug

Fundebug專一於JavaScript、微信小程序、微信小遊戲、支付寶小程序、React Native、Node.js和Java線上應用實時BUG監控。 自從2016年雙十一正式上線,Fundebug累計處理了20億+錯誤事件,付費客戶有陽光保險、核桃編程、荔枝FM、掌門1對一、微脈、青團社等衆多品牌企業。歡迎你們免費試用

版權聲明

轉載時請註明做者 Fundebug以及本文地址:

https://blog.fundebug.com/2019/09/05/fundebug-javascript-2-0-0-support-typescript/

相關文章
相關標籤/搜索