我目前正在开发一个网络应用程序,我需要在不同的人之间进行实时交互。我正在使用由PeerJS提供支持的WebRTC来为我的应用添加实时交互性。 现在我开始尝试使用Meteor,我对它的实时功能印象深刻。
当我尝试将PeerJS与Meteor一起使用时,它会抛出此错误:
Users/sauravpanda/.meteor/packages/meteor-tool/.1.1.3.1wysac9++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:245
throw(ex);
^
ReferenceError: window is not defined
at Object../adapter (app/dist/peer.js:279:1)
at s (app/dist/peer.js:1:385)
at e (app/dist/peer.js:1:556)
at app/dist/peer.js:1:574
at app/dist/peer.js:2941:3
at /Users/sauravpanda/Desktop/aswus/.meteor/local/build/programs/server/boot.js:222:10
at Array.forEach (native)
at Function._.each._.forEach (/Users/sauravpanda/.meteor/packages/meteor-tool/.1.1.3.1wysac9++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11)
at /Users/sauravpanda/Desktop/aswus/.meteor/local/build/programs/server/boot.js:117:5
Exited with code: 8
如何解决此问题并将WebRTC与Meteor一起使用?
我正在考虑使用socket.io编写自己的WebRTC信令服务器,我希望使用meteor的本机WebSocket支持来用于客户端。根据我对Meteor的有限理解,它已经在某种程度上支持了RTCDatachannel
正在做的事情。因此,我唯一需要添加的是对RTCPeerConnection
和getUserMedia
的支持。
答案 0 :(得分:0)
请确保将peer.js放在meteor应用程序的clients/
文件夹中,否则它会尝试在客户端和服务器端执行它,而window
仅存在于浏览器中