解決Can’t find variable: SockJS vue項目的問題

  • A+
所屬分類:百科知識

用的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);這一行,然后就可以解決了

1
2
3
4
5
6
try {
// self.xhr.send(payload);
} catch (e) {
self.emit(‘finish', 0, ‘');
self._cleanup(false);
}

以上這篇解決Can't find variable: SockJS vue項目的問題就是小編分享給大家的全部內容了,希望能給大家一個參考

推薦應用

發表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: