用的vue-cli(webpack-simple模板),在開發環境運行(npm run dev),一直都沒有問題,突然在ios的safari中調試,出現報錯:
Can't find variable: SockJS文章源自四五設計網-http://www.wasochina.com/39721.html
這是為什么呢?文章源自四五設計網-http://www.wasochina.com/39721.html
原來這是webpack(我的版本:3.6.0)的報錯,webpack的熱加載是采用websocket來通知瀏覽器實現的, SockJS是一個必須的庫。文章源自四五設計網-http://www.wasochina.com/39721.html
這個問題屬于意外吧,googel的話有很多方式來解決。最簡單:文章源自四五設計網-http://www.wasochina.com/39721.html
將webpack.config.js中的:文章源自四五設計網-http://www.wasochina.com/39721.html
devtool: '#eval-source-map'文章源自四五設計網-http://www.wasochina.com/39721.html
改為:文章源自四五設計網-http://www.wasochina.com/39721.html
devtool:'inline-source-map'文章源自四五設計網-http://www.wasochina.com/39721.html
至于這2個的差別,自己去百度吧!文章源自四五設計網-http://www.wasochina.com/39721.html
補充知識:解決vue中vue-cli項目報錯sockjs.js報錯文章源自四五設計網-http://www.wasochina.com/39721.html
在使用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項目的問題就是小編分享給大家的全部內容了,希望能給大家一個參考


評論