今早習慣打開vscode 輸入 npm run dev 准備修復測試提出的bug 不料一堆通紅的報錯,讓人感到有點綠的慌。
有問題呢,就需要解決問題。經過一番排查后發現是我昨天為了讓測試在我本地項目中測試的時候在package.json中添加一些字段,可以讓她在同一局域網下訪問我的本地項目。
既然知道了原因就很容易解決了。把--host 10.101.2.43 去掉就可以解決。
不過感覺這種方式很敷衍,如果有需要的情況下,就不能這樣解決了。
然后就查sockjs-node報錯原因。
首先去了解下sockjs-node是什么,sockjs-node 是一個JavaScript庫,提供跨瀏覽器 JavaScript 的 API,創建了一個低延遲、全雙工的瀏覽器和web服務器之間通信通道,
既 服務端 sockjs-node 客戶端 sockjs-clien
sockjs-node是全雙工通信用的,能夠實現我們在改完代碼重新編譯之后,能夠通知瀏覽器重新加載變更結果
查看了網上的一些解決方案去node_modules/sockjs-client/dist/sockjs.js把self.xhr.send(payload)注釋了,這樣的解決辦法先不論能否解決sockjs-node報錯的問題,首先這種方法就已經不能使瀏覽器熱加載了,所以可以直接不考慮的。
既然是本地的服務器那么webpack應該就有配置遂去官網搜索關鍵字sockjs-node
然后修改sockHost為本地IP
再次run dev項目后,正常打開項目,嘗試下熱更新也是正常的。個人覺得應該是我在package的scripts加的字段更改了sockjs的代理,導致請求出錯。
也因工作繁忙,未深追究,留作筆記,閑時探追原理。