【问题标题】:How could I get access to socket.io.min.js in express?我怎样才能在 express 中访问 socket.io.min.js?
【发布时间】:2012-10-31 20:57:03
【问题描述】:

我可以通过这个 url 连接 socket.io:localhost/socket.io/socket.io.js 但我需要缩小版! localhost/socket.io/socket.io.MIN.js 不起作用。

【问题讨论】:

  • 你确定你有最小文件吗?
  • socket.io 在生产模式下运行时会自动提供一个缩小文件。为什么在开发过程中需要/想要一个缩小文件?
  • 此文件夹:“localhost/socket.io”不存在!只对 express 可见,所以我不知道这个文件到底应该放在哪里。
  • socket.io client-slide API 没有缩小版,你应该自己缩小。
  • 更多,你是在 80 端口运行你的 socket.io 吗?如果没有,您还应该添加端口以获取脚本。例如,如果您的 socket.io 在端口 6000 中运行,它应该是 http://localhost:6000/...

标签: node.js express socket.io


【解决方案1】:

Socket.IO 拦截对/socket.io 的请求以提供它需要的文件。它通常为他们提供服务:

./node_modules/socket.io/node_modules/socket.io-client/dist

但是,如Socket.IO's wiki 所述,如果您愿意,您可以自己提供文件。

您需要的文件位于socket.io-client repo 中的/dist 文件夹中。

如果你想一直强制生产设置,你可以在调用listen()之前将它添加到你的节点应用程序中:

io.enable('浏览器客户端缩小'); // 发送缩小客户端 io.enable('浏览器客户端标签'); // 根据版本号应用 etag 缓存逻辑 io.enable('浏览器客户端 gzip'); // 压缩文件 io.set('日志级别', 1); // 减少日志记录 io.set('transsports', [ // 启用所有传输(如果你想要 flashsocket,可选) '网络套接字' , '闪光灯插座' , 'html文件' , 'xhr 轮询' , 'jsonp 轮询' ]);

【讨论】:

  • 这个文件夹,你输入的路径包含4个文件:socket.io.js socket.io.min.js WebSocketMain.swf WebSocketMainInsecure.swf 但只有一个可用 - socket.io.js (在这个 url 的 Express 中:localhost/socket.io/)。
  • 您有 2 个选项。激活 Socket.IO production settings 或者您可以自己提供文件(只需将它们放在像 /public/javascripts/sio 这样的文件夹中并直接链接到客户端中的此文件夹)。
  • 还是不明白如何开启socket.io生产模式,谢谢。
  • 我的英语不好,所以我的文档有问题:(。我不明白,我必须在哪里输入:“NODE_ENV=production node app.js”
  • 您应该在启动节点应用程序之前在终端(或 Windows Cmd)中输入此内容。在您的情况下,我建议您在代码中更改它。我会更新我的答案。
【解决方案2】:

最新的 socket.io.js 缩小版,截至今天(版本 0.9.16):

http://cdnjs.cloudflare.com/ajax/libs/socket.io/0.9.16/socket.io.min.js

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 2022-11-24
    • 1970-01-01
    • 2022-12-14
    相关资源
    最近更新 更多