用的vue-cli(webpack-simple模板),在開發(fā)環(huán)境運行(npm run dev),一直都沒有問題,突然在ios的safari中調(diào)試,出現(xiàn)報錯:
Can't find variable: SockJS
這是為什么呢?
原來這是webpack(我的版本:3.6.0)的報錯,webpack的熱加載是采用websocket來通知瀏覽器實現(xiàn)的, SockJS是一個必須的庫。
這個問題屬于意外吧,googel的話有很多方式來解決。最簡單:
將webpack.config.js中的:
devtool: '#eval-source-map'
改為:
devtool:'inline-source-map'
至于這2個的差別,自己去百度吧!
補充知識:解決vue中vue-cli項目報錯sockjs.js報錯
在使用vue-cli腳手架創(chuàng)建項目的時候,在npm create app命令后,項目創(chuàng)建成功后通過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,創(chuàng)建了一個低延遲、全雙工的瀏覽器和web服務(wù)器之間通信通道。在項目運行以后,network會一直調(diào)用這個接口。如果沒有使用,那么就一直會報這個異常。
解決辦法
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項目的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://www.cnblogs.com/xiaochongchong/p/7762274.html