我正在尝试使用由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功能,直到连接/刷新尝试。
答案 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
}
});