1. 程式人生 > 程式設計 >解決Can't find variable: SockJS vue專案的問題

解決Can't find variable: SockJS vue專案的問題

用的vue-cli(webpack-simple模板),在開發環境執行(npm run dev),一直都沒有問題,突然在ios的safari中除錯,出現報錯:

Can't find variable: SockJS

這是為什麼呢?

原來這是webpack(我的版本:3.6.0)的報錯,webpack的熱載入是採用websocket來通知瀏覽器實現的, SockJS是一個必須的庫。

這個問題屬於意外吧,googel的話有很多方式來解決。最簡單:

將webpack.config.js中的:

devtool: '#eval-source-map'

改為:

devtool:'inline-source-map'

至於這2個的差別,自己去百度吧!

補充知識:解決vue中vue-cli專案報錯sockjs.js報錯

在使用vue-cli腳手架建立專案的時候,在npm create app命令後,專案建立成功後通過npm run serve命令執行以後,控制檯報錯,sockjs.js?9be2:1606 GET http://192.168.16.105:8080/sockjs-node/info?t=1574662800493 net::ERR_CONNECTION_TIMED_OUT

錯誤分析

sockjs-node是一個JavaScript庫,提供跨瀏覽器JavaScript的API,建立了一個低延遲、全雙工的瀏覽器和web伺服器之間通訊通道。在專案執行以後,network會一直呼叫這個介面。如果沒有使用,那麼就一直會報這個異常。

解決辦法

1.找到/node_modules/sockjs-client/dist/sockjs.js

2.在1605行,註釋掉self.xhr.send(payload);這一行,然後就可以解決了

try {
// self.xhr.send(payload);
} catch (e) {
self.emit(‘finish',‘');
self._cleanup(false);
}

以上這篇解決Can't find variable: SockJS vue專案的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。