Angular 使用SignalR MessagePack的坑
先假設(shè)大家都創(chuàng)建好了ng項(xiàng)目,并且安裝上了@microsoft/signalr-protocol-msgpack和@microsoft/signalr包,并寫上了一些基礎(chǔ)代碼。

然后開始運(yùn)行,如果不出意外的話,我們會(huì)遇到一堆bug。
先從編譯報(bào)錯(cuò)開始,我們會(huì)遇到兩個(gè)警告和兩個(gè)報(bào)錯(cuò),大致如下圖。

先從webpack問(wèn)題開始,問(wèn)題大致是webpack5里面不自帶node polyfills了,需要我們手動(dòng)安裝。
看了一下報(bào)錯(cuò),主要是util和assert這兩個(gè)庫(kù),所以我們先安裝這兩個(gè)庫(kù)。我相信大家都會(huì)安裝,這里就不說(shuō)安裝的步驟了。
然后報(bào)錯(cuò)就神奇般的沒(méi)有了。

然后解決警告的問(wèn)題,這個(gè)是因?yàn)椴荒苤苯右胏ommonjs或amd的依賴,通過(guò)那個(gè)鏈接我們可以知道,改一下配置就可以了。?

在對(duì)應(yīng)的位置上加上如下配置。
然后報(bào)錯(cuò)和警告就都沒(méi)有了。


然而并沒(méi)有結(jié)束,我們還需要處理控制臺(tái)上的報(bào)錯(cuò)。

看到這個(gè)報(bào)錯(cuò),我還以為要弄一個(gè)process庫(kù)進(jìn)來(lái),后來(lái)找了找issues,才發(fā)現(xiàn)有奇淫巧技。

下邊是可能會(huì)遇到的報(bào)錯(cuò)


經(jīng)過(guò)實(shí)驗(yàn),好像一共有三種報(bào)錯(cuò),分別是process、global、Buffer。
然后我們?cè)趐olyfills.ts里加入如下代碼。
好像就解決了,至少?zèng)]報(bào)錯(cuò)了。

到此為止了,發(fā)現(xiàn)其他的坑后續(xù)再加上。