一尘不染

更改Socket.IO静态文件的提供路径

node.js

我在具有基本HTTP服务器(没有Express或Connect或类似的东西)的Node服务器上使用Socket.IO。默认情况下,Socket.IO将客户端文件提供给

/socket.io/socket.io.js

我希望能够将该基本路径更改为其他内容,例如

/foo/bar/socket.io/socket.io.js

是否有任何内置方法来执行此操作,或者是否有任何不更改Socket.IO代码的方法?我认为答案就在Static模块(require('socket.io').Static))中,但是由于没有编写自己的代码来替换默认值,因此我看不到要改变其行为方式的任何方法。

我怎样才能做到这一点?


阅读 457

收藏
2020-07-07

共1个答案

一尘不染

resource选项允许您配置socket.io的根目录。默认为/socket.io

var io = require('socket.io').listen(app, { resource: '/foo/bar/socket.io' });

请注意,此设置还影响从何处提供socket.io端点,因此 您还必须在客户端代码中更改此设置

var socket = io.connect('http://example.com', { resource: 'foo/bar/socket.io' });

(请注意,出于某些原因,我们此处不使用斜杠。)

2020-07-07