我们有一个可用于云 (AppEngine) 和内部部署的 Web 应用程序。
对于推送通知,我们在内部部署中使用 websockets,在 AppEngine 上使用 pubnub(因为 Google 频道对我们来说不够可靠)。
我们有一个简单的 JavaScript 模块,它在运行时抽象出两种通信架构之间的差异(基于服务器提供的配置信息)。
我们使用 requirejs 和 uglifyjs2 将所有 JavaScript 组件组合到一个文件中以供生产使用(而我们使用原始文件进行调试)。
我们现在的问题是,pubnub JavaScript 模块会在它被包含后(即在我们的软件调用它之前)尝试联系它的服务器。这当然在内部是不可取的(导致防火墙日志条目......)。
到目前为止,我们找到的唯一解决方案是修改 pubnub.js 以将其中的一些代码放入模块初始化函数中,我们仅在知道确实需要 pubnub 时才调用该函数。但这当然意味着我们必须了解(并手动修改)每个新版本的 pubnub.js。
有替代方案吗?