项目运行时一直发http://localhost:8080/sockjs-node/info?t=1462183700002请求
-
- 【方案1】
- 【方案2】
- 【方案3】
server是webpack创建的,运行在localhost:8080,部署到服务器后运行就报错

网上的解决方案
【方案1】
这个问题:如果是在开发环境,应该是开发的时候网络环境变更导致,比如你切换无线网络,导致开发服务器的IP地址换了,这样开发服务器会不知道如何确定访问源。开发环境中关闭npm dev server,然后重新npm run serve重新构建服务环境就可以了。
如果是生产环境,很大可能是应该是域名和ip映射出问题,重启node,检查重新配置域名和ip映射就可以了。
【方案2】
如果你的浏览器,与NPM服务器,不是同一个机器(不是localhost),那么会导致这个报错。
我搜索了好久,才发现这个是可以在webpackjs里配置的(即vue.config.js):
https://webpack.js.org/config...
module.exports = {
devServer: {
sockHost: 'demo.my-domain.com',
disableHostCheck: true,
}
}
【方案3】
首先sockjs-node是一个JavaScript库,提供跨浏览器JavaScript的API,创建了一个低延迟,全双工的浏览器和web服务器之间通信通道。
如果你的项目没有用到sockjs,vuecli3 运行npm run serve 之后network里面一直调用一个接口:
http://localhost:8080/sockjs-node/info?t=1556418283950
方案:从根源上关闭此调用
1、node_modules/sockjs-client/dist/sockjs.js
2、代码的1605行注释
// self.xhr.send(payload);
ps:可在代码开发完成后关闭,会同步关闭热加载
个人是参考方案二,