用的vue-cli(webpack-simple模板),在开发环境运行(npm run dev),一直都没有问题,突然在ios的safari中调试,出现报错:
Can't find variable: SockJS
Can't find variable: SockJS这是为什么呢?原来这是webpack(我的版本:3.6.0)的报错,webpack的热加载是采用websocket来通知浏览器实现的, SockJS是一个必须的库。这个问题属于意外吧,googel的话有很多方式来解决。最简单:这个问题属于意外吧,googel的话有很多方式来解决。最简单:将webpack.config.js中的:
devtool: '#eval-source-map'
devtool: '#eval-source-map'改为:
devtool:'inline-source-map'
devtool:'inline-source-map'至于这2个的差别,自己去百度吧!补充知识:解决vue中vue-cli项目报错sockjs.js报错补充知识:补充知识:解决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.js2.在1605行,注释掉self.xhr.send(payload);这一行,然后就可以解决了
try {
// self.xhr.send(payload);
} catch (e) {
self.emit(‘finish', 0, ‘');
self._cleanup(false);
}
try {
// self.xhr.send(payload);
} catch (e) {
self.emit(‘finish', 0, ‘');
self._cleanup(false);
}以上这篇解决Can't find variable: SockJS vue项目的问题就是小编分享给大家的全部内容了,希望能给大家一个参考。