We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
我阅读了此项目src下每个文件的每一行代码,得出一个简单的结论:
此项目入口文件只有一行代码:
module.exports = require('socket.io-client')
然后通过webpack配置,注入wx-ws.js
plugins: [ new webpack.NormalModuleReplacementPlugin(/^ws$/g, process.cwd() + '/src/wx-ws.js'), new webpack.NormalModuleReplacementPlugin(/^.\/transports\/index$/g, process.cwd() + '/src/transport.js'), ],
也就是说,socket.io-client导进来,又导出去,期间并未做任何东西。
而这个项目真正起作用的地方是wx-ws.js,里面对window.WebSocket(来自socket.io-client,并非原生的WebSocket)进行了拦截.
那么此处是完全可以把socket.io-client剔除,只保留wx-ws.js+transport.js相关代码。
从而让用户自行决定socket.io-client的版本,只需要在执行socket.io-client之前,先执行wx-ws.js即可。
之所以给出以上建议,是因为我测试了2.0/2.0.1/2.1.0/2.2.0 版本,只能链接,无法见听到事件。而2.2.1版本,由于使用了socket.io-client版本大于2.x ,而服务器用的socket.io是2.x所以客户端的版本必须小于3.x, 所以这个项目因为引入socket.io-client的版本变化,从而导致其他不兼容问题。
目前我的做法是,克隆了此项目,然后删除index.js中的
再重新编译打包,生成新的wxapp.socket.io.js 只有1kb。因此我命名为:wxapp.socket.io.pure.js
我在使用时,自行选择安装了socket.io-client@2.3.0 / 2.5.0 源码如下: index.html中加入:
<script src="xxx/xx/wxapp.socket.io.pure.js"></script>
代码中引入:
import io from 'socket.io-client' const socket = io('ws://xx:3000', { path: '/socket', query: { Authorization: token } })
The text was updated successfully, but these errors were encountered:
关闭
Sorry, something went wrong.
是否可以提个 PR 呢?
No branches or pull requests
我阅读了此项目src下每个文件的每一行代码,得出一个简单的结论:
此项目入口文件只有一行代码:
然后通过webpack配置,注入wx-ws.js
也就是说,socket.io-client导进来,又导出去,期间并未做任何东西。
而这个项目真正起作用的地方是wx-ws.js,里面对window.WebSocket(来自socket.io-client,并非原生的WebSocket)进行了拦截.
那么此处是完全可以把socket.io-client剔除,只保留wx-ws.js+transport.js相关代码。
从而让用户自行决定socket.io-client的版本,只需要在执行socket.io-client之前,先执行wx-ws.js即可。
之所以给出以上建议,是因为我测试了2.0/2.0.1/2.1.0/2.2.0 版本,只能链接,无法见听到事件。而2.2.1版本,由于使用了socket.io-client版本大于2.x ,而服务器用的socket.io是2.x所以客户端的版本必须小于3.x, 所以这个项目因为引入socket.io-client的版本变化,从而导致其他不兼容问题。
目前我的做法是,克隆了此项目,然后删除index.js中的
再重新编译打包,生成新的wxapp.socket.io.js 只有1kb。因此我命名为:wxapp.socket.io.pure.js
我在使用时,自行选择安装了socket.io-client@2.3.0 / 2.5.0
源码如下:
index.html中加入:
代码中引入:
The text was updated successfully, but these errors were encountered: