vuecli3项目运行报错sockjs-node/info解决方案

关于vuecli3项目运行报错sockjs-node/info解决方案,解决项目中的问题。

问题

启动项目后,在内网非本机运行项目时,控制台报错如下:

报错分析

首先,sockjs-node是何方神圣?不难查出,sockjs-node是一个JavaScript库,提供跨浏览器JavaScript的API,创建了一个低延迟、全双工的浏览器和web服务器之间通信通道。那么在各端表现为:

vue-cli3.x的启动方式是 npm run serve,没有用到该sockjs-node功能,但启动时会默认连续发请求调用本地接口。因此我们要做的就是移除掉它。那么如何移除?

解决方案

分享两种方案,我这里使用了第一种方法。

1. 注释法

顾名思义,找到依赖包中的源码,将其注释:

  1. 进入路径 /node_modules/sockjs-client/dist/sockjs.js
  2. 代码1605行注释掉:
1
2
3
4
5
6
try {
// self.xhr.send(payload); //本行注释
} catch (e) {
self.emit('finish', 0, '');
self._cleanup(false);
}
  1. 重启项目(ps:可在代码开发完成后关闭,会同步关闭热加载)

2. 配置vue.config

vue.config.js中的module.exports中添加如下,然后重启:

1
2
3
4
devServer: {
proxy: 'http://localhost:8080',
public: '192.168.xxx.xxx:8080' // 本地ip
}

:转载文章请注明出处,谢谢~