解決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專案的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。