参考Socket.io fron离线应用程序中的节点服务器,带Require.js

时间:2013-05-24 16:07:40

标签: node.js socket.io requirejs

我正在尝试使用由Node服务器托管的Socket.io。我正在使用Require.js来管理依赖项。我的webapp具有脱机功能。

当webapp脱机且无法联系节点服务器时,require.js会抛出错误,因为它无法找到socket.io依赖项。

GET http://mikemac.local:8000/socket.io/socket.io.js  require.js:33
Uncaught Error: Script error
http://requirejs.org/docs/errors.html#scripterror

在这种情况下,我没有使用node / io作为系统的大部分,只是'奖励'实时通知。所以app应该在没有它的情况下运行。

我该如何处理?我想要一种方法来检测它是无法找到的,然后禁用socket.io功能,直到连接/刷新尝试。

1 个答案:

答案 0 :(得分:0)

在您的配置设置中,回退到其他模块并在回退中表示它处于脱机状态:

requirejs.config({
    enforceDefine: true,
    paths: {
        socketio: [
            'http://mikemac.local:8000/socket.io/socket.io',
            //If the CDN location fails, load from this location
            'lib/socketoffline'
        ]
    }
});

//socketoffline
define({ offline: true});

//Later
require(['socketio'], function (socketio) {
    if (socketio.offline){
        // your library did not load:
    } else {
        // socketio loaded
    }
});